home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1993 November / JCSM Shareware Collection - 1993-11.iso / cl700 / prowinbj.lzh / LITE.DOC < prev    next >
Text File  |  1992-11-15  |  144KB  |  3,893 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.               ┌───────────────────────────────────────────────────────┐
  8.               │                                                       │
  9.               │       P r o W i n d o w s (tm)   L I T E   5.20       │
  10.               │                                                       │
  11.               │      The Professional Windows Management Library      │
  12.               │                     Documentation                     │
  13.               │                                                       │
  14.               │    (c) Copyright 1988-1992 DSE Software Publishing    │
  15.               │        Licensed Material. All Rights Reserved.        │
  16.               │                                                       │
  17.               │         ╔═══════════════════════════════════╗         │
  18.               │         ║ ▀▀▀▀▀▀▀▀       ▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀ ║         │
  19.               │         ║  ▀▀▀    ▀     ▀▀    ▀▀  ▀▀▀    ▀▀ ║         │
  20.               │         ║  ▀▀▀     ▀   ▀▀      ▀  ▀▀▀     ▀ ║         │
  21.               │         ║  ▀▀▀     ▀▀  ▀▀         ▀▀▀       ║         │
  22.               │         ║  ▀▀▀     ▀▀  ▀▀▀        ▀▀▀  ▀    ║         │
  23.               │         ║  ▀▀▀     ▀▀   ▀▀▀       ▀▀▀  ▀    ║         │
  24.               │         ║  ▀▀▀     ▀▀     ▀▀▀     ▀▀▀▀▀▀    ║         │
  25.               │         ║  ▀▀▀     ▀▀       ▀▀▀   ▀▀▀  ▀    ║         │
  26.               │         ║  ▀▀▀     ▀▀        ▀▀▀  ▀▀▀  ▀    ║         │
  27.               │         ║  ▀▀▀     ▀▀         ▀▀  ▀▀▀       ║         │
  28.               │         ║  ▀▀▀     ▀   ▀      ▀▀  ▀▀▀     ▀ ║         │
  29.               │         ║  ▀▀▀    ▀    ▀▀    ▀▀   ▀▀▀    ▀▀ ║         │
  30.               │         ║ ▀▀▀▀▀▀▀▀      ▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀ ║         │
  31.               │         ╚═══════════════════════════════════╝         │
  32.               │                                                       │
  33.               │                DSE Software Publishing                │
  34.               │                  Post Office Box 96                   │
  35.               │                Willits, CA 95490-0096                 │
  36.               │                    (707) 459-4358                     │
  37.               │                                                       │
  38.               └───────────────────────────────────────────────────────┘
  39.  
  40.  
  41.                                ┌─────────┐
  42.                          ┌─────┴───┐     │              (R)
  43.                        ──│         │o    │──────────────────
  44.                          │   ┌─────┴╨──┐ │  Association of
  45.                          │   │         │─┘  Shareware
  46.                          └───│    o    │    Professionals
  47.                        ──────│    ║    │────────────────────
  48.                              └────╨────┘    MEMBER
  49.  
  50.  
  51.  
  52.          Microsoft(R), QuickBASIC(R), and Professional BASIC are trademarks
  53.          or registered trademarks belonging to Microsoft Corporation.
  54.          IBM(R) and PC-DOS(R) are registered trademarks belonging to
  55.          International Business Machines.  GEnie(SM) is a registered
  56.          service mark belonging to GEnie Information Services.
  57.          ProWindows(tm) is a trademarks of DSE Software Publishing.  
  58.          Other product names are trademarks or registered trademarks 
  59.          of thier respective holders.
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                           T A B L E   O F   C O N T E N T S
  66.  
  67.          INTRODUCTION
  68.  
  69.               Disclaimer - Agreement ......................  I
  70.               What is ProWindows(tm) ......................  II
  71.               Hardware and Software Requirements ..........  III
  72.               How to obtain Customer Support ..............  III
  73.               Why must I call the Notice() routine ........  IV
  74.  
  75.  
  76.          CHAPTER 1 - THE "EVENT DRIVER"
  77.  
  78.               Event Driver Overview .......................  1.2
  79.               GetEvent ....................................  1.4
  80.               SetCalendar .................................  1.4
  81.               SetClock ....................................  1.4
  82.               SetEventDelay ...............................  1.5
  83.               SetUserCoords ...............................  1.5
  84.               QuickKey ....................................  1.6
  85.               useDrivers ..................................  1.6
  86.               Event Codes .................................  1.7
  87.  
  88.  
  89.          CHAPTER 2 - THE VIRTUAL WINDOW MANAGER
  90.  
  91.               Window Manager Overview .....................  2.2
  92.               AllocVirtualBlock (internal) ................  2.4
  93.               Attr ........................................  2.4
  94.               BinAttr .....................................  2.4
  95.               ClearWindow .................................  2.5
  96.               CloneWindow .................................  2.5
  97.               CloseWindow .................................  2.5
  98.               Copyright ...................................  2.5
  99.               DeAllocVirtualBlock (internal) ..............  2.6
  100.               DisplayWindow ...............................  2.6
  101.               DrawBox .....................................  2.6
  102.               FillScreen ..................................  2.7
  103.               ForceWindow .................................  2.7
  104.               FREEWINDOW ..................................  2.8
  105.               GetScreen ...................................  2.8
  106.               GetVirtualPtr ...............................  2.8
  107.               GrabWindow ..................................  2.9
  108.               HideWindow ..................................  2.9
  109.               HotPrint ....................................  2.9
  110.               InitPro .....................................  2.9
  111.               IsBWmode ....................................  2.10
  112.               MainWindow ..................................  2.10
  113.               MakeWindow ..................................  2.11
  114.               ModifyWindow ................................  2.11
  115.               MoveWindow ..................................  2.11
  116.               OpenWindow ..................................  2.12
  117.               PopWindow ...................................  2.13
  118.               PopSound ....................................  2.13
  119.               PutScreen ...................................  2.13
  120.               PreInit .....................................  2.13
  121.               ReAlignWindow ...............................  2.14
  122.               RecycleMode .................................  2.14
  123.               RefreshAllWindows ...........................  2.15
  124.  
  125.                 (c) Copyright 1988-1991 DSE Software Publishing
  126.  
  127.  
  128.  
  129.  
  130.               RefreshMain .................................  2.15
  131.               RefreshMode .................................  2.15
  132.               RefreshWindow ...............................  2.16
  133.               RemoveSound .................................  2.13
  134.               RemoveWindow ................................  2.16
  135.               ResizeWindow ................................  2.16
  136.               RestoreWindow (internal) ....................  2.17
  137.               ScanHandle (internal) .......................  2.17
  138.               ScanVirtualBlock (internal) .................  2.17
  139.               ScreenMode ..................................  2.17
  140.               SetBorderColor ..............................  2.18
  141.               SetBWmode ...................................  2.18
  142.               SetCompressMode (internal) ..................  2.18
  143.               SetMonitorColor .............................  2.18
  144.               SetShadow ...................................  2.19
  145.               SetWindow ...................................  2.19
  146.               SetWindowMinSize ............................  2.19
  147.               SetZoomSpeed ................................  2.20
  148.               SetZoomStyle ................................  2.20
  149.               ShowVLSmemory (internal) ....................  2.21
  150.               ShowWindow ..................................  2.21
  151.               sprint ......................................  2.21
  152.               StoreWindow (internal) ......................  2.22
  153.               TitleWindow .................................  2.22
  154.               UnAttr ......................................  2.23
  155.               UnBinAttr ...................................  2.23
  156.               UpdateScrollBars ............................  2.23
  157.               ValidateWindow (internal) ...................  2.23
  158.               VideoBoard ..................................  2.23
  159.               VideoPage ...................................  2.24
  160.               VideoPageLen ................................  2.24
  161.               vprint ......................................  2.24
  162.               WhatWindow ..................................  2.25
  163.               winCLS ......................................  2.25
  164.               winColor ....................................  2.25
  165.               winDeleteLine ...............................  2.26
  166.               winInsertLine ...............................  2.26
  167.               winLocate ...................................  2.26
  168.               winPos ......................................  2.27
  169.               winPrint ....................................  2.27
  170.               winPrintCR ..................................  2.27
  171.               winPrintCRLF ................................  2.28
  172.               winPrintLF ..................................  2.28
  173.               winPrintLn ..................................  2.28
  174.               winPrintNum .................................  2.29
  175.               wlocate .....................................  2.29
  176.               wprint ......................................  2.29
  177.               wcprint .....................................  2.29
  178.               cwprint .....................................  2.29
  179.               cwcprint ....................................  2.29
  180.  
  181.  
  182.          CHAPTER 3 - MOUSE ROUTINE FEATURES
  183.  
  184.               Mouse Overview ..............................  5.2
  185.               CheckMouse ..................................  5.3
  186.               DoubleClick .................................  5.3
  187.               GetMouse ....................................  5.3
  188.  
  189.                 (c) Copyright 1988-1991 DSE Software Publishing
  190.  
  191.  
  192.  
  193.  
  194.               GetMouseInfo ................................  5.4
  195.               GetMousePress ...............................  5.4
  196.               GetMouseRelease .............................  5.5
  197.               Mouse .......................................  5.5
  198.               MouseCursorOff ..............................  5.6
  199.               MouseCursorOn ...............................  5.6
  200.               MouseKillWindow .............................  5.6
  201.               SetMouse ....................................  5.7
  202.               SetMouseMode ................................  5.7
  203.               SetMouseState ...............................  5.7
  204.               SetMouseWindow ..............................  5.7
  205.               TermMouse ...................................  5.8
  206.  
  207.  
  208.          CHAPTER 4 - GLOBAL VARIABLES AND DATA TYPES
  209.  
  210.               System Constants ............................  4.1
  211.               Data Types ..................................  4.2
  212.               Global Variables and Arrays .................  4.3
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.                 (c) Copyright 1988-1991 DSE Software Publishing
  255.  
  256.  
  257.          ProWindows(tm) LITE - Version 5.20                           I
  258.  
  259.          DISCLAIMER - AGREEMENT
  260.  
  261.               Users of ProWindows(tm) LITE 5.20 must accept this disclaimer
  262.               of warranty:
  263.  
  264.               "ProWindows(tm) LITE 5.20 is supplied as is.  The author
  265.               disclaims all warranties, expressed or implied, including,
  266.               without limitation, the warranties of merchantability and of
  267.               fitness for any purpose.  The author assumes no liability for
  268.               damages, direct or consequential, which may result from the
  269.               use of ProWindows(tm) LITE 5.20."
  270.  
  271.               ProWindows(tm) LITE 5.20 is a "shareware program" and is
  272.               provided at no charge to the user for evaluation.  Feel free
  273.               to share it with your friends, but please do not give it away
  274.               altered or as part of another system.  The essence of "user-
  275.               supported" software is to provide personal computer users
  276.               with quality software without high prices, and yet to provide
  277.               incentive for programmers to continue to develop new
  278.               products.  If you find this program useful and find that you
  279.               are using ProWindows(tm) LITE 5.20 and continue to use
  280.               ProWindows(tm) LITE 5.20 after a 21 day trial period, you
  281.               must make a registration payment of $25.20 to DSE Software
  282.               Publishing.  The $25.20 registration will license one copy
  283.               for use by a single user on any one computer at any one time,
  284.               but may be freely moved from one computer location to
  285.               another, so long as there is NO possibility of it being used
  286.               at one location while it is being used at another.
  287.  
  288.               Commercial users of ProWindows(tm) LITE 5.20 must register
  289.               and pay for their copies of ProWindows(tm) LITE 5.20 within
  290.               21 days of first use or their license is withdrawn.  Site-
  291.               License arrangements may be made by contacting DSE Software
  292.               Publishing.
  293.  
  294.               Anyone distributing ProWindows(tm) LITE 5.20 for any kind of
  295.               remuneration must first contact DSE Software Publishing at
  296.               the address below for authorization.  This authorization will
  297.               be automatically granted upon request and such distributors
  298.               may begin offering ProWindows(tm) LITE 5.20 immediately
  299.               (However DSE Software Publishing must still be advised so
  300.               that the distributor can be kept up-to-date with the latest
  301.               version of ProWindows(tm) LITE.
  302.  
  303.               You are encouraged to pass a copy of ProWindows(tm) LITE 5.20
  304.               along to your friends for evaluation.  Please encourage them
  305.               to register their copy if they find that they can use it.
  306.               All registered users will receive a copy of the latest
  307.               version of the ProWindows(tm) LITE 5.20 system.
  308.  
  309.               Registration fees should be paid to:
  310.  
  311.                     DSE Software Publishing
  312.                     Post Office Box 96
  313.                     Willits, CA 95490-0096
  314.                     (707) 459-4358
  315.  
  316.  
  317.  
  318.  
  319.                 (c) Copyright 1988-1991 DSE Software Publishing
  320.  
  321.  
  322.          ProWindows(tm) LITE - Version 5.20                           II
  323.  
  324.          WHAT IS PROWINDOWS(tm)
  325.  
  326.               ProWindows(tm) is probably the most elaborate, but easy to
  327.               use, software development systems that money can buy.  By
  328.               utilizing the ProWindows(tm) libraries, development time for
  329.               creating intricate software packages can be cut
  330.               significantly.
  331.  
  332.               At the very heart of ProWindows(tm) is the "Virtual Window
  333.               Manager".  This special driver manages every subroutine used
  334.               to create, print to, hide, clear, and the dozen other things
  335.               you can do to a window.
  336.  
  337.               When you create a window, the manager automatically creates
  338.               storage space for the window's contents.  When your window is
  339.               ready to be displayed, the window manager automatically saves
  340.               the portion of the screen you are about to place the window
  341.               on.  Then, to make things even nicer, by using a specialized
  342.               compression algorithm, the old screen is squeezed to
  343.               sometimes less that 80% it's original size.  This is intended
  344.               to save you plenty of memory space.  Also, your compressed
  345.               screen is stored in "far" memory so you will save that
  346.               valuable "string space".
  347.  
  348.               Once your windows are displayed, you can move, hide, overlap,
  349.               and re-size them with a simple click of a mouse (or you can
  350.               add keyboard commands).
  351.  
  352.               The window manager can manage up to 128 concurrent windows
  353.               (memory permitting).
  354.  
  355.               Nothing could be easier.
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.                 (c) Copyright 1988-1991 DSE Software Publishing
  385.  
  386.  
  387.          ProWindows(tm) LITE - Version 5.20                           III
  388.  
  389.          HARDWARE AND SOFTWARE REQUIREMENTS
  390.  
  391.               o  An IBM(R) PC/XT/AT or true "compatible" running MS-DOS(R)
  392.                  or PC-DOS(R) 2.1 or later.
  393.  
  394.               o  One high-density floppy-disk drive or one floppy-disk
  395.                  drive and a hard disk drive.
  396.  
  397.               o  512K System Memory.
  398.  
  399.               o  Microsoft(R) QuickBASIC(R) 4.5, or Microsoft BASIC 6.x, or
  400.                  Microsoft BASIC Professional Development System 7.x.
  401.  
  402.               o  Other requirements may vary with the compiler used.
  403.  
  404.  
  405.          HOW TO OBTAIN CUSTOMER SUPPORT
  406.  
  407.               Registered users of ProWindows(tm) are offered almost
  408.               unlimited support.  Listed in order of preference, customer
  409.               support is offered in the following ways:
  410.  
  411.               o  GE-Mail (GEnie) messages can be addressed to
  412.                  "DSE.SOFTWARE".  2 to 24 hour response time.
  413.  
  414.               o  Voice support is available Monday through Friday, 12:00 PM
  415.                  to 5:00 PM (Pacific) at (707) 459-4358.
  416.  
  417.               o  US Mail is by far the slowest (allow 1 to 3 weeks) but may
  418.                  be addressed to:
  419.  
  420.                     Post-sales Support
  421.                     DSE Software Publishing
  422.                     Post Office Box 96
  423.                     Willits, CA 95490-0096
  424.  
  425.               Enclose (or have available) the following information:
  426.  
  427.                    a). Product's serial number, and release number.
  428.                    b). Registered user's full name.
  429.                    c). Registered user's full address.
  430.  
  431.               If you are having technical problems, also have available a
  432.               complete description of your computer configuration,
  433.               including Brand of computer, DOS version, TSRs or Device
  434.               Drivers loaded, Amount of memory, add-on boards, Monitor and
  435.               adaptor card installed.
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.                 (c) Copyright 1988-1991 DSE Software Publishing
  450.  
  451.  
  452.          ProWindows(tm) LITE - Version 5.20                           IV
  453.  
  454.          WHY MUST I CALL THE Notice() ROUTINE?
  455.  
  456.               The "evaluation" copy of ProWindows(tm) LITE 5.20 contains an
  457.               additional routine that you MUST call in order to make use of
  458.               this package.
  459.  
  460.          ==================================================================
  461.  
  462.          Notice - SUB
  463.  
  464.          ACTION    Displays a "registration encouragement" message.
  465.  
  466.          SYNTAX    Notice
  467.  
  468.          REMARKS   You are required to call this routine within one (1)
  469.                    minute of displaying your first window.
  470.  
  471.                    The purpose of this routine is to remind you that the
  472.                    version you now possess is an "evaluation" copy of
  473.                    ProWindows(tm) LITE and as stated elsewhere, you are
  474.                    permitted 21 days to evaluate the product before you are
  475.                    required to pay for it.
  476.  
  477.                    When called, ProWindows(tm) displays a window containing
  478.                    a "registration encouragement" message.  This window
  479.                    works just like any other window and can be moved, re-
  480.                    sized, hidden, etc.
  481.  
  482.                    When displayed, the global variable CurrentWindow%
  483.                    contains the handle of displayed window.
  484.  
  485.          SEE ALSO  OpenWindow and CloseWindow
  486.  
  487.          ==================================================================
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.                 (c) Copyright 1988-1991 DSE Software Publishing
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.                   #####  ##   ##   ###   ###### ###### ###### ######
  534.                  ##   ## ##   ## ##   ## ##   ##  ##   ##     ##   ##
  535.                  ##      ##   ## ##   ## ##   ##  ##   ##     ##   ##
  536.                  ##      ####### ####### ######   ##   #####  ######
  537.                  ##      ##   ## ##   ## ##       ##   ##     ## ##
  538.                  ##   ## ##   ## ##   ## ##       ##   ##     ##  ##
  539.                   #####  ##   ## ##   ## ##       ##   ###### ##   ##
  540.  
  541.                                  #####  ##   ## ######
  542.                                 ##   ## ##   ## ##
  543.                                 ##   ## ###  ## ##
  544.                                 ##   ## ## # ## #####
  545.                                 ##   ## ##  ### ##
  546.                                 ##   ## ##   ## ##
  547.                                  #####  ##   ## ######
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.                 (c) Copyright 1988-1992 DSE Software Publishing
  579.  
  580.  
  581.          ProWindows(tm) LITE - Version 5.20                           1.2
  582.  
  583.          SECTION 1 - EVENT DRIVER OVERVIEW
  584.          =================================================================
  585.  
  586.               The ProWindows GetEvent() function is the programmer's
  587.               interface to most library functions.
  588.  
  589.               Ideally, GetEvent() should periodically take control of your
  590.               program to determine if any event needs to be processed.
  591.               When an event occurs, GetEvent() dispatches control to the
  592.               appropriate handler.  When an event has been completed,
  593.               GetEvent() returns a unique number indicating what type of
  594.               event took place, and then control is returned to the
  595.               application.  By providing the returned value back to
  596.               GetEvent(), you can further determine the handle of the
  597.               window or menu or form that was effected.
  598.  
  599.               As an example, if GetEvent(0) returns the value 5, it
  600.               indicates that a window's hide icon was clicked, and then
  601.               GetEvent(5) returns the handle of the window that was
  602.               actually closed.
  603.  
  604.               GetEvent() is also responsible for maintaining the resident
  605.               clock and calendar.
  606.  
  607.               To make use of any function outlined in this chapter, you
  608.               must add the following line to your program code:
  609.  
  610.                    REM $INCLUDE : 'LITE.BI'
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.                 (c) Copyright 1988-1992 DSE Software Publishing
  644.  
  645.  
  646.          ProWindows(tm) LITE - Version 5.20                           1.3
  647.  
  648.          SECTION 2 - ROUTINE DESCRIPTIONS
  649.          =================================================================
  650.  
  651.          GetEvent% - Function
  652.  
  653.          ACTION    Queries the event manager.
  654.  
  655.          SYNTAX    variablename% = GetEvent%(info%)
  656.  
  657.          REMARKS   This function accepts the following argument:
  658.  
  659.                    Argument         Description
  660.                    ---------------  --------------------------------------
  661.                    info%            Type of information to retrieve
  662.  
  663.                    This routine actually performs two functions.  First, it
  664.                    takes control the program for a specified amount time
  665.                    (see SetEventDelay).  During this time, it waits to see
  666.                    if a window, menu or form is manipulated.  If an event
  667.                    takes place, GetEvent%() returns a code indicating the
  668.                    type of event that took place.  If nothing happens, a
  669.                    value of 17 is returned indicating a "time out".
  670.  
  671.                    Second, depending on the type of event that takes place,
  672.                    you can pass the returned value back to GetEvent%() to
  673.                    get the handle of the window, menu, or form control that
  674.                    was manipulated.
  675.  
  676.          SEE ALSO  Section 3 of this chapter.
  677.  
  678.          ------------------------------------------------------------------
  679.  
  680.          SetCalendar - SUB
  681.  
  682.          ACTION    Installs resident calendar in the specified window.
  683.  
  684.          SYNTAX    SetCalendar Handle%, row%, col%, Attrib%, status%
  685.  
  686.          REMARKS   This function accepts the following arguments:
  687.  
  688.                    Argument         Description
  689.                    ---------------  --------------------------------------
  690.                    Handle%          If 0, the calendar is displayed in
  691.                                     coordinates relative to the physical
  692.                                     screen, otherwise the coordinates are
  693.                                     relative to the the defined window.
  694.                    row%, col%       Screen/window coordinates of calendar.
  695.                    attrib%          Video attribute of calendar.
  696.                    status%          If false, calendar is disabled.
  697.  
  698.                    Displays a perpetual calendar at the supplied
  699.                    coordinates.  The display format is: "MM/DD/YYYY".  If
  700.                    the calendar is within a window, it is only updated when
  701.                    it is in the top most window.
  702.  
  703.          ------------------------------------------------------------------
  704.  
  705.          SetClock - SUB
  706.  
  707.  
  708.                 (c) Copyright 1988-1992 DSE Software Publishing
  709.  
  710.  
  711.          ProWindows(tm) LITE - Version 5.20                           1.4
  712.  
  713.          ACTION    Installs resident clock in specified window.
  714.  
  715.          SYNTAX    SetClock Handle%, row%, col%, Attrib%, status%
  716.  
  717.          REMARKS   This function accepts the following arguments:
  718.  
  719.                    Argument         Description
  720.                    ---------------  --------------------------------------
  721.                    Handle%          If 0, the clock is displayed in
  722.                                     coordinates relative to the physical
  723.                                     screen, otherwise the coordinates are
  724.                                     relative to the defined window.
  725.                    row%, col%       Screen/window coordinates of clock.
  726.                    attrib%          Video attribute of clock.
  727.                    status%          If false, clock is disabled.
  728.  
  729.                    Displays a perpetual clock at the supplied coordinates.
  730.                    The display format is: "HH:MM:SS".  If the clock is
  731.                    within a window, it is only updated when it is in top
  732.                    most window.
  733.  
  734.          ------------------------------------------------------------------
  735.  
  736.          SetEventDelay - SUB
  737.  
  738.          ACTION    Sets maximum amount time for GetEvent() control.
  739.  
  740.          SYNTAX    SetEventDelay ticks%
  741.  
  742.          REMARKS   This function accepts the following arguments:
  743.  
  744.                    Argument         Description
  745.                    ---------------  --------------------------------------
  746.                    ticks%           Maximum clock ticks for control.
  747.  
  748.                    This function determines the maximum amount time that
  749.                    GetEvent() will take control of the program.  Resolution
  750.                    is measured in timer ticks (18.2) milliseconds.  A value
  751.                    of 0 returns control immediately if no event is pending.
  752.  
  753.          ------------------------------------------------------------------
  754.  
  755.          SetUserCoords - SUB
  756.  
  757.          ACTION    Defines an area as a mouse "hotspot".
  758.  
  759.          SYNTAX    SetUserCoords Handle%, row%, col%, rows%, cols%
  760.  
  761.          REMARKS   This function accepts the following arguments:
  762.  
  763.                    Argument         Description
  764.                    ---------------  --------------------------------------
  765.                    Handle%          An integer between 1 and 64 defining
  766.                                     the handle to assign a given "hotspot".
  767.                    row%, col%       Screen coordinates of block.
  768.                    rows%, cols%     Dimensions of block.
  769.  
  770.                    Defines an area of the screen as a mouse hotspot.  When
  771.                    a user clicks or releases the left mouse button while
  772.  
  773.                 (c) Copyright 1988-1992 DSE Software Publishing
  774.  
  775.  
  776.          ProWindows(tm) LITE - Version 5.20                           1.5
  777.  
  778.                    within a "hotspot", GetEvent(0) returns 22 or 24,
  779.                    respectively.
  780.  
  781.          ------------------------------------------------------------------
  782.          QuickKey - SUB
  783.  
  784.          ACTION    Defines a global "short cut" Key.
  785.  
  786.          SYNTAX    QuickKey handle%, Keypress$
  787.  
  788.          REMARKS   This function accepts the following argument:
  789.  
  790.                    Argument         Description
  791.                    ---------------  --------------------------------------
  792.                    handle%          A unique handle to assign to the
  793.                                     keypress.
  794.                    Keypress$        A 1 or 2 byte string to watch for.
  795.  
  796.                    This function allows trapping of a specific keypress.
  797.                    Keypress$ should be the exact string (same as would be
  798.                    returned by INKEY$) to watch for.  When a "hot key" is
  799.                    pressed, the function GetEvent() returns a value of 19.
  800.                    A subsequent call to GetEvent(19) will return the handle
  801.                    of the pressed key.
  802.  
  803.          ------------------------------------------------------------------
  804.  
  805.          UseDrivers - SUB
  806.  
  807.          ACTION    Initializes various external drivers.
  808.  
  809.          SYNTAX    useDrivers menus%, forms%, cursor%
  810.  
  811.          REMARKS   This function accepts the following argument:
  812.  
  813.                    Argument         Description
  814.                    ---------------  --------------------------------------
  815.                    menus%           NOT AVAILABLE IN LITE VERSION
  816.                    forms%           NOT AVAILABLE IN LITE VERSION
  817.                    cursor%          Set to '1' if your program will use any
  818.                                     "winPrint" style function calls.
  819.  
  820.                    This function helps solve various QuickBASIC quirks by
  821.                    enabling or disabling access to certain functions and
  822.                    variables.  To make calls to the listed function types,
  823.                    you must pass a value of '1' to the particular
  824.                    parameter.
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.                 (c) Copyright 1988-1992 DSE Software Publishing
  839.  
  840.  
  841.          ProWindows(tm) LITE - Version 5.20                           1.6
  842.  
  843.          SECTION 3 - GETEVENT%() RETURN CODES
  844.          =================================================================
  845.  
  846.          Argument    Ret. Code   Description
  847.          ---------   ---------   -----------------------------------------
  848.              0           0       No Event to process.
  849.                          1       Can not process keystroke.  The variable
  850.                                  KeyBuffer$ holds the keystroke.
  851.                          2       A new window was selected.
  852.                          3       A window was re-sized.
  853.                          4       A window was moved.
  854.                          5       A window was closed.
  855.                          6       Mouse was clicked on the current window's
  856.                                  vertical scroll bar.
  857.                          7       Mouse was clicked on the current window's
  858.                                  vertical UP button.
  859.                          8       Mouse was clicked on the current window's
  860.                                  vertical DOWN button.
  861.                          9       Mouse was clicked on the current window's
  862.                                  horizontal scroll bar.
  863.                         10       Mouse was clicked on the current window's
  864.                                  horizontal LEFT button.
  865.                         11       Mouse was clicked on the current window's
  866.                                  horizontal RIGHT button.
  867.                         12       A Button selected.
  868.                         13       Moved to new button.
  869.                         14       A menu item was selected.
  870.                         15       <CR> was pressed.
  871.                         16       <ESC> was pressed.
  872.                         17       Time out.  Means nothing happened.
  873.                         18       F1 was pressed. GlobalScreen% holds the
  874.                                  help screen queued for display.
  875.                         19       A quick key was pressed.
  876.                         20       Changed button position.
  877.                         21       Internal
  878.                         22       User defined mouse click event occurred.
  879.                         23       Internal
  880.                         24       User defined mouse release event occurred.
  881.                         30       Mouse was clicked on a form's vertical
  882.                                  scroll bar.
  883.                         31       Mouse was clicked on a form's vertical UP
  884.                                  button.
  885.                         32       Mouse was clicked on a form's vertical
  886.                                  DOWN button.
  887.                         33       Mouse was clicked on a form's horizontal
  888.                                  scroll bar.
  889.                         34       Mouse was clicked on a form's horizontal
  890.                                  LEFT button.
  891.                         35       Mouse was clicked on a form's horizontal
  892.                                  RIGHT button.
  893.                         36       Changed position within a pick list.
  894.                         37       Clicked pick list item.
  895.                        101       Left Arrow key was pressed.
  896.                        102       Right Arrow key was pressed.
  897.                        103       Up Arrow key was pressed.
  898.                        104       Down Arrow key was pressed.
  899.                        105       PgUp key was pressed.
  900.                        106       PgDn key was pressed.
  901.                        107       Home key was pressed.
  902.  
  903.                 (c) Copyright 1988-1992 DSE Software Publishing
  904.  
  905.  
  906.          ProWindows(tm) LITE - Version 5.20                           1.7
  907.  
  908.          Argument    Ret. Code   Description
  909.          ---------   ---------   -----------------------------------------
  910.  
  911.                        108       End key was pressed.
  912.                        109       Insert key was pressed.
  913.                        110       Delete key was pressed.
  914.                        111       Ctrl-Home was pressed.
  915.                        112       Ctrl-End was pressed.
  916.                        200       Right mouse button was clicked.
  917.              2           n       Returns the handle of the affected window.
  918.              3           n                       "
  919.              4           n                       "
  920.              5           n                       "
  921.              6           n       Returns new vertical scroll bar position.
  922.              7           n                       "
  923.              8           n                       "
  924.              9           n       Returns new horizontal scroll bar position
  925.             10           n                       "
  926.             11           n                       "
  927.             12           n       Returns handle of manipulated button.
  928.             13           n                       "
  929.             14           n       Returns menu item selected.
  930.             19           n       Returns hot key pressed.
  931.             21           n       Returns internal event number.
  932.             23           n                       "
  933.             22           n       Returns user event number
  934.             24           n                       "
  935.             30           n       Returns handle of manipulated button.
  936.             31           n                       "
  937.             32           n                       "
  938.             33           n                       "
  939.             34           n                       "
  940.             35           n                       "
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.                 (c) Copyright 1988-1992 DSE Software Publishing
  969.  
  970.  
  971.          ProWindows(tm) LITE - Version 5.20                           1.8
  972.  
  973.          SECTION 4 - DATA TYPES
  974.          =================================================================
  975.  
  976.          The following data types are declared in LITE.BI.
  977.  
  978.          TYPEs and Elements            Remarks
  979.          ----------------------------  -----------------------------------
  980.  
  981.          TYPE InkeyRec
  982.               Length AS INTEGER        Length of Keypress$
  983.               ShiftState AS INTEGER    State of keyboard flags
  984.               KeyChar AS STRING * 1    Single byte version of Keypress$
  985.               KeyValue AS INTEGER      ASCII value of Keypress$
  986.               AltChar AS STRING * 1    Parsed (assumes ALT was pressed)
  987.               AltValue AS INTEGER      ALT version scancode
  988.               ExtChar AS STRING * 2    Two byte version of Keypress$
  989.               ExtValue AS INTEGER      Scan code of Keypress$
  990.          END TYPE
  991.  
  992.  
  993.          SELECT GLOBAL VARIABLES AND ARRAYS
  994.  
  995.          NAME      /DialogData/ Keyboard AS InkeyRec
  996.  
  997.          REMARKS   The "Keyboard" structure is filled from within the
  998.                    WindowDriver() function.  It contains 3 uniquely parsed
  999.                    versions of the global variable KeyBuffer$.
  1000.  
  1001.          -----------------------------------------------------------------
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.                 (c) Copyright 1988-1992 DSE Software Publishing
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.                   #####  ##   ##   ###   ###### ###### ###### ######
  1053.                  ##   ## ##   ## ##   ## ##   ##  ##   ##     ##   ##
  1054.                  ##      ##   ## ##   ## ##   ##  ##   ##     ##   ##
  1055.                  ##      ####### ####### ######   ##   #####  ######
  1056.                  ##      ##   ## ##   ## ##       ##   ##     ## ##
  1057.                  ##   ## ##   ## ##   ## ##       ##   ##     ##  ##
  1058.                   #####  ##   ## ##   ## ##       ##   ###### ##   ##
  1059.  
  1060.                               ###### ##   ##  #####
  1061.                                 ##   ##   ## ##   ##
  1062.                                 ##   ##   ## ##   ##
  1063.                                 ##   ##   ## ##   ##
  1064.                                 ##   ## # ## ##   ##
  1065.                                 ##   ### ### ##   ##
  1066.                                 ##   ##   ##  #####
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.                 (c) Copyright 1988-1992 DSE Software Publishing
  1098.  
  1099.  
  1100.          ProWindows(tm) LITE - Version 5.20                           2.2
  1101.  
  1102.          SECTION 1 - WINDOW MANAGER OVERVIEW
  1103.          =================================================================
  1104.  
  1105.               The ProWindows(tm) Virtual Window Manager is a set of BASIC
  1106.               callable routines written in BASIC, C, and Assembler.  The
  1107.               Window Manager permits you to add sophisticated windowing
  1108.               capabilities to your applications with minimal coding.
  1109.  
  1110.               ProWindows provides two distinct type of window control
  1111.               functions:
  1112.  
  1113.          STACK BASED WINDOWS
  1114.  
  1115.               Stack based window systems are perhaps the easiest to
  1116.               implement, but they are by far the most limited.  The concept
  1117.               is simple: Windows are displayed on a last on first off
  1118.               basis.  Output is limited to the top most window only.  Stack
  1119.               based systems are not virtual, meaning that text displayed
  1120.               with a window is not actually a part of the window, but is
  1121.               only displayed at the same location.
  1122.  
  1123.               PopWindow() and RemoveWindow() are classic examples of stack
  1124.               based window routines.  PopWindow() always displays a window
  1125.               at the top of the stack, and RemoveWindow() always removes
  1126.               the window at the top of the stack.
  1127.  
  1128.          HANDLE BASED VIRTUAL WINDOWS
  1129.  
  1130.               Handle based virtual window systems are a more natural form
  1131.               of windowing systems.  Each window is referred to by a unique
  1132.               handle and output is directed to the current window handle.
  1133.               Handle based windows can be moved, re-sized, hidden,
  1134.               scrolled, re-displayed and more without affecting the window
  1135.               contents.
  1136.  
  1137.               OpenWindow(), DisplayWindow(), and CloseWindow() are the
  1138.               handle based alternatives to creating windows.  OpenWindow()
  1139.               creates a new window and notifies it's presence to the window
  1140.               manager.  DisplayWindow() in turn brings the window to the
  1141.               screen.  CloseWindow() finally removes the window from the
  1142.               display, and notifies the window manager that the window has
  1143.               been deleted.  Other routines exist to hide, move, and
  1144.               perform other tasks to an existing window.
  1145.  
  1146.               One often misunderstood feature of virtual windows is that
  1147.               one does not have to be displayed to be manipulated.  It is
  1148.               possible to write to a non-displayed window, and then at some
  1149.               later point bring the window to the foreground.
  1150.  
  1151.               Even though ProWindows is internally designed around a
  1152.               virtual based system, stack based functions can be carefully
  1153.               integrated into the same code.
  1154.  
  1155.          CREATING WINDOW HANDLES
  1156.  
  1157.               The process of opening and closing windows with ProWindows is
  1158.               virtually identical to opening and closing files with BASIC.
  1159.               As with files, windows can be opened with "Explicit" or
  1160.               "Implicit" handles.
  1161.  
  1162.                 (c) Copyright 1988-1992 DSE Software Publishing
  1163.  
  1164.  
  1165.          ProWindows(tm) LITE - Version 5.20                           2.3
  1166.  
  1167.               "Explicit" handles are determined at compile time.  An
  1168.               example of opening a window (or a file) with an Explicit
  1169.               handle would be:
  1170.  
  1171.                    OPEN "myfile.dat" FOR INPUT AS #1
  1172.                    OpenWindow 1, 10, 10, attr(7,0), 1, 1, 1, Opts
  1173.  
  1174.                    CLOSE #1
  1175.                    CloseWindow 1
  1176.  
  1177.               With both examples, the handle is 1.
  1178.  
  1179.               "Implicit" handles are determined at run time.  An example of
  1180.               opening a window (or a file) with an Implicit handle would
  1181.               be:
  1182.  
  1183.                    FileHandle = FREEFILE
  1184.                    OPEN "myfile.dat" FOR INPUT AS #FileHandle
  1185.  
  1186.                    WinHandle = FREEWINDOW
  1187.                    OpenWindow WinHandle, 10, 10, attr(7,0), 1, 1, 1, Opts
  1188.  
  1189.                    CLOSE #FileHandle
  1190.                    CloseWindow WinHandle
  1191.  
  1192.               FREEFILE is a BASIC function that returns the next available
  1193.               file handle and FREEWINDOW is a ProWindows function that
  1194.               returns the next available window handle.
  1195.  
  1196.               With both windows and files, Explicit handles are usually
  1197.               used only at main level code because it is assumed that the
  1198.               main level code will always know what windows and files are
  1199.               open.  "Implicit" handles are usually used in sub modules
  1200.               because they may not have access or knowledge of main level
  1201.               handles.  It is good programming practice to close all
  1202.               Implicit handles BEFORE exiting module level code.
  1203.  
  1204.               To make use of any function outlined in this chapter, you
  1205.               must add the following line to your program code:
  1206.  
  1207.                    REM $INCLUDE : 'LITE.BI'
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.                 (c) Copyright 1988-1992 DSE Software Publishing
  1228.  
  1229.  
  1230.          ProWindows(tm) LITE - Version 5.20                           2.4
  1231.  
  1232.          SECTION 2 - ROUTINE DESCRIPTIONS
  1233.          =================================================================
  1234.  
  1235.          AllocVirtualBlock - SUB
  1236.  
  1237.          ACTION    Internal to Window Manager - DO NOT USE
  1238.  
  1239.          SYNTAX    AllocVirtualBlock (handle%, size%)
  1240.  
  1241.          REMARKS   Allocates a portion of the VirMem() array and assigns it
  1242.                    to the given handle.
  1243.  
  1244.          ------------------------------------------------------------------
  1245.  
  1246.          ATTR% - Function
  1247.  
  1248.          ACTION    Calculates and returns an integer value corresponding to
  1249.                    supplied Foreground and Background colors.
  1250.  
  1251.          SYNTAX    variablename% = ATTR (fore%, back%)
  1252.  
  1253.          REMARKS   This function accepts the following arguments:
  1254.  
  1255.                    Argument         Description
  1256.                    ---------------  --------------------------------------
  1257.                    fore%            Foreground color of video attribute.
  1258.                    back%            Background color of video attribute.
  1259.  
  1260.                    Returns an integer ranging 0 to 255.  Valid Foreground
  1261.                    ranges are 0 to 31.  Valid Background ranges are 0 to 7.
  1262.  
  1263.          SEE ALSO: BASIC COLOR statement.
  1264.  
  1265.          ------------------------------------------------------------------
  1266.  
  1267.          BINATTR% - Function
  1268.  
  1269.          ACTION    Calculates and returns an integer value corresponding to
  1270.                    the Foreground and Background arguments and the
  1271.                    Highlight and Blink flags.
  1272.  
  1273.          SYNTAX    variablename% = BINATTR (fore%, back%, high%, blink%)
  1274.  
  1275.          REMARKS   This function accepts the following arguments:
  1276.  
  1277.                    Argument         Description
  1278.                    ---------------  --------------------------------------
  1279.                    fore%            Foreground color of video attribute.
  1280.                    back%            Background color of video attribute.
  1281.                    high%            Set if Highlighting is to be enabled.
  1282.                    blink%           Set if Blinking is to be enabled.
  1283.  
  1284.                    Returns an unsigned integer ranging 0 to 255.  Valid
  1285.                    Foreground and Background ranges are 0 to 7.  Highlight
  1286.                    and Blink are flags that should be set to 0 or 1.
  1287.                    Always pass only INTEGER values.
  1288.  
  1289.          SEE ALSO: BASIC COLOR statement.
  1290.  
  1291.  
  1292.                 (c) Copyright 1988-1992 DSE Software Publishing
  1293.  
  1294.  
  1295.          ProWindows(tm) LITE - Version 5.20                           2.5
  1296.  
  1297.          ClearWindow - SUB
  1298.  
  1299.          ACTION    Clears everything within the borders of the current
  1300.                    window being displayed.
  1301.  
  1302.          SYNTAX    ClearWindow
  1303.  
  1304.          REMARKS   Removes entire contents of current window but does not
  1305.                    remove window titles.
  1306.  
  1307.          ------------------------------------------------------------------
  1308.  
  1309.          CloneWindow - SUB
  1310.  
  1311.          ACTION    Creates duplicate of a window.
  1312.  
  1313.          SYNTAX    CloneWindow handle%
  1314.  
  1315.          REMARKS   This sub accepts the following argument:
  1316.  
  1317.                    Argument         Description
  1318.                    ---------------  --------------------------------------
  1319.                    Handle%          Handle of an existing virtual window.
  1320.  
  1321.                    Creates an exact duplicate of an existing virtual window
  1322.                    and it's contents.  The global variable CurrentWindow%
  1323.                    is updated to the handle of the new window.  The new
  1324.                    window is not initially displayed.
  1325.  
  1326.          SEE ALSO  OpenWindow
  1327.  
  1328.          ------------------------------------------------------------------
  1329.  
  1330.          CloseWindow - SUB
  1331.  
  1332.          ACTION    Removes and closes a virtual window.
  1333.  
  1334.          SYNTAX    CloseWindow handle%
  1335.  
  1336.          REMARKS   This sub accepts the following argument:
  1337.  
  1338.                    Argument         Description
  1339.                    ---------------  --------------------------------------
  1340.                    Handle%          Handle of an existing virtual window.
  1341.  
  1342.                    Completely eradicates an existing window.  If the window
  1343.                    is being displayed, it is removed.  All window memory is
  1344.                    released back to the VirMem%() array.
  1345.  
  1346.          ------------------------------------------------------------------
  1347.          Copyright - SUB
  1348.  
  1349.          ACTION    Displays the ProWindows(tm) standard copyright notice.
  1350.  
  1351.          SYNTAX    Copyright row%, col%
  1352.  
  1353.          REMARKS   This sub accepts the following arguments:
  1354.  
  1355.  
  1356.  
  1357.                 (c) Copyright 1988-1992 DSE Software Publishing
  1358.  
  1359.  
  1360.          ProWindows(tm) LITE - Version 5.20                           2.6
  1361.  
  1362.                    Argument         Description
  1363.                    ---------------  --------------------------------------
  1364.                    row%, col%       Screen position to display the
  1365.                                     copyright message.
  1366.  
  1367.                    The ProWindows licensing agreement discusses when you
  1368.                    are actually required to call this function.
  1369.  
  1370.          ------------------------------------------------------------------
  1371.  
  1372.          DeAllocVirtualBlock - SUB
  1373.  
  1374.          ACTION    Internal to WLS - DO NOT USE
  1375.  
  1376.          SYNTAX    DeAllocVirtualBlock (handle%)
  1377.  
  1378.          REMARKS   Deallocates portion of the VirMem() array allocated by
  1379.                    the AllocVirtualBlock() sub.
  1380.  
  1381.          ------------------------------------------------------------------
  1382.  
  1383.          DisplayWindow  - SUB
  1384.  
  1385.          ACTION    Displays a virtual window.
  1386.  
  1387.          SYNTAX    DisplayWindow handle%, row%, col%, rows%, cols%
  1388.  
  1389.          REMARKS   This sub accepts the following arguments:
  1390.  
  1391.                    Argument         Description
  1392.                    ---------------  --------------------------------------
  1393.                    handle%          Handle of virtual window to display.
  1394.                    row%, col%       Absolute screen position to display the
  1395.                                     window.  A 0 value will automatically
  1396.                                     center the window.
  1397.                    rows%, cols%     Dimension of the window.
  1398.  
  1399.                    Displays a virtual window.  If the window is already on
  1400.                    the display, it is brought to the top.  If the rows% and
  1401.                    cols% are less that the actual physical dimensions of
  1402.                    the window, the displayed contents will be truncated.
  1403.  
  1404.          ------------------------------------------------------------------
  1405.  
  1406.          DrawBox - SUB
  1407.  
  1408.          ACTION    Draws a box within a virtual window.
  1409.  
  1410.          SYNTAX    DrawBox handle%, row%, col%, rows%, cols%, attrib%,
  1411.                            border%
  1412.  
  1413.          REMARKS   This sub accepts the following arguments:
  1414.  
  1415.                    Argument         Description
  1416.                    ---------------  --------------------------------------
  1417.                    handle%          Handle of window to draw box in.
  1418.                    row%, col%       Window position to start box.
  1419.                    rows%, cols%     Dimensions of box.
  1420.                    attrib%          Video attribute of box.
  1421.  
  1422.                 (c) Copyright 1988-1992 DSE Software Publishing
  1423.  
  1424.  
  1425.          ProWindows(tm) LITE - Version 5.20                           2.7
  1426.  
  1427.                    border%          Border style of box (1 thru 12)
  1428.  
  1429.                    Draws a single box within the specified virtual window.
  1430.                    If the window is being displayed, it is NOT
  1431.                    automatically refreshed.  Refreshing should be done
  1432.                    AFTER all boxes have been placed.
  1433.  
  1434.          SEE ALSO  RefreshMain, RefreshAllWindows and RefreshWindow
  1435.  
  1436.          ------------------------------------------------------------------
  1437.  
  1438.          FillScreen - SUB
  1439.  
  1440.          ACTION    Fills an area with specified attribute and character.
  1441.  
  1442.          SYNTAX    FillScreen row%, col%, rows%, cols%, attrib%,
  1443.                               char%, SNOW%
  1444.  
  1445.          REMARKS   This sub accepts the following arguments:
  1446.  
  1447.                    Argument         Description
  1448.                    ---------------  --------------------------------------
  1449.                    row%, col%       Screen position to start the fill.
  1450.                    rows%, cols%     Dimensions of fill area.
  1451.                    attrib%          Video attribute to fill with.
  1452.                    char%            ASCII character to fill with.
  1453.                    SNOW%            The Global Variable SNOW%
  1454.  
  1455.                    Similar to the subroutine MakeWindow().  Fills the
  1456.                    indicated area with an ASCII character using the
  1457.                    indicated attribute.
  1458.  
  1459.                    The final parameter should always be the global variable
  1460.                    SNOW% which determines whether snow suppression will be
  1461.                    used when filling the area.
  1462.  
  1463.          ------------------------------------------------------------------
  1464.  
  1465.          ForceWindow - SUB
  1466.  
  1467.          ACTION    Fast set of the Current Window
  1468.  
  1469.          SYNTAX    ForceWindow handle%
  1470.  
  1471.          REMARKS   This sub accepts the following arguments:
  1472.  
  1473.                    Argument         Description
  1474.                    ---------------  --------------------------------------
  1475.                    handle%          Handle of window to set.
  1476.  
  1477.                    Makes the specified window the main window.  All
  1478.                    ProWindows print statements will be diverted to this
  1479.                    window.  ForceWindow does NOT attempt to determine if
  1480.                    the window actually exists, so use with caution.
  1481.                    SetWindow() is the preferred method.
  1482.  
  1483.          SEE ALSO  SetWindow
  1484.  
  1485.          ------------------------------------------------------------------
  1486.  
  1487.                 (c) Copyright 1988-1992 DSE Software Publishing
  1488.  
  1489.  
  1490.          ProWindows(tm) LITE - Version 5.20                           2.8
  1491.  
  1492.          FREEWINDOW% - FUNCTION
  1493.  
  1494.          ACTION    Returns next available window handle
  1495.  
  1496.          SYNTAX    variablename% = FREEWINDOW
  1497.  
  1498.          REMARKS   Like BASIC's FREEFILE function, this function returns
  1499.                    the next available window handle for a subsequent call
  1500.                    to OpenWindow().
  1501.  
  1502.          -----------------------------------------------------------------
  1503.  
  1504.          GetScreen - SUB
  1505.  
  1506.          ACTION    Saves an area of the screen to memory.
  1507.  
  1508.          SYNTAX    GetScreen row%, col%, rows%, cols%, DataSeg%, DataOff%,
  1509.                              SNOW%
  1510.  
  1511.          REMARKS   This sub accepts the following arguments:
  1512.  
  1513.                    Argument         Description
  1514.                    ---------------  --------------------------------------
  1515.                    row%, col%       Screen position to start copy.
  1516.                    rows%, cols%     Dimensions of copy area.
  1517.                    DataSeg%         Segment address of the storage array.
  1518.                    DataOff%         Offset address of the storage array.
  1519.                    SNOW%            The Global Variable SNOW%
  1520.  
  1521.                    This subroutine bypasses the WLS and grabs a portion of
  1522.                    the current screen at the coordinates supplied and
  1523.                    stores it in memory.  You are responsible to allocate
  1524.                    enough memory to store each screen.
  1525.                    To determine the amount of memory required, use the
  1526.                    formula:
  1527.  
  1528.                    arraysize% = (rows% * cols%) * 2
  1529.  
  1530.                    The final parameter should always be the global variable
  1531.                    SNOW%.
  1532.  
  1533.          SEE ALSO: PutScreen, BASIC Statements VARSEG and VARPTR.
  1534.  
  1535.          ------------------------------------------------------------------
  1536.  
  1537.          GetVirtualPtr% - FUNCTION
  1538.  
  1539.          ACTION    Returns offset address of virtual window.
  1540.  
  1541.          SYNTAX    variablename = GetVirtualPtr (handle%)
  1542.  
  1543.          REMARKS   This function accepts the following argument:
  1544.  
  1545.                    Argument         Description
  1546.                    ---------------  --------------------------------------
  1547.                    handle%          Handle of virtual window.
  1548.  
  1549.                    Returns an integer indicating the subscript within the
  1550.                    global array VirMem%() where the contents of the
  1551.  
  1552.                 (c) Copyright 1988-1992 DSE Software Publishing
  1553.  
  1554.  
  1555.          ProWindows(tm) LITE - Version 5.20                           2.9
  1556.  
  1557.                    specified window is stored.  This can then be used with
  1558.                    BASIC's VARSEG and VARPTR functions to determine it's
  1559.                    location within RAM.
  1560.  
  1561.          ------------------------------------------------------------------
  1562.  
  1563.          GrabWindow - SUB
  1564.  
  1565.          ACTION    Take snap shot of window and stores in window memory.
  1566.  
  1567.          SYNTAX    GrabWindow Handle%
  1568.  
  1569.          REMARKS   This function accepts the following argument:
  1570.  
  1571.                    Argument         Description
  1572.                    ---------------  --------------------------------------
  1573.                    handle%          Handle of virtual window.
  1574.  
  1575.                    GrabWindow() was added for those die-hard programmers
  1576.                    who insist (with good cause) on using the BASIC's built-
  1577.                    in PRINT statement.  Text can be PRINTed on a window and
  1578.                    GrabWindow() will store the image to the window's
  1579.                    memory.
  1580.  
  1581.          ------------------------------------------------------------------
  1582.  
  1583.          HideWindow - SUB
  1584.  
  1585.          ACTION    Hide a virtual window.
  1586.  
  1587.          SYNTAX    HideWindow handle%
  1588.  
  1589.          REMARKS   This sub accepts the following argument:
  1590.  
  1591.                    Argument         Description
  1592.                    ---------------  --------------------------------------
  1593.                    handle%          Handle of virtual window to hide.
  1594.  
  1595.                    Removes the specified virtual window from the screen.
  1596.                    The window is NOT destroyed, and can be re-displayed
  1597.                    using the many WLS functions.
  1598.  
  1599.          SEE ALSO  CloseWindow, DisplayWindow, MainWindow and ShowWindow
  1600.  
  1601.          ------------------------------------------------------------------
  1602.  
  1603.          HotPrint - SUB
  1604.  
  1605.          ACTION    Prints text and highlighted text.
  1606.  
  1607.          SYNTAX    HotPrint row%, col%, attrib1%, text1$, attrib2%, text2$
  1608.  
  1609.          REMARKS   This sub accepts the following arguments:
  1610.  
  1611.                    Argument         Description
  1612.                    ---------------  --------------------------------------
  1613.                    row%, col%       Window position to display text.
  1614.                    attrib1%         Main text video attribute.
  1615.                    text1$           Main text to display.
  1616.  
  1617.                 (c) Copyright 1988-1992 DSE Software Publishing
  1618.  
  1619.  
  1620.          ProWindows(tm) LITE - Version 5.20                           2.10
  1621.  
  1622.                    attrib2%         Sub-text video attribute.
  1623.                    text2$           Sub-text to display.
  1624.  
  1625.                    Displays a line of text, with a specific portion
  1626.                    highlighted.  It's purpose is for displaying key words,
  1627.                    and highlighting it's selector letter.  Text2$ should be
  1628.                    a sub-string of Text1$.
  1629.  
  1630.          ------------------------------------------------------------------
  1631.  
  1632.          IsBWmode% - FUNCTION
  1633.  
  1634.          ACTION    Determines color characteristic of video card
  1635.  
  1636.          SYNTAX    variablename% = IsBWmode%
  1637.  
  1638.          REMARKS   IsBWmode%() is a function that returns a true condition
  1639.                    if the video adaptor is an MDA adaptor, a color adaptor
  1640.                    in BW mode, or if the function SetBWmode() has been
  1641.                    called.
  1642.  
  1643.          ------------------------------------------------------------------
  1644.  
  1645.          InitPro - SUB
  1646.  
  1647.          ACTION    Initializes the Virtual Window Logic System.
  1648.  
  1649.          SYNTAX    InitPro
  1650.  
  1651.          REMARKS   Initializes all features of the Window Manager.  It
  1652.                    should be the first executable statement within all
  1653.                    ProWindows applications.  Failure to do so may cause
  1654.                    your system to lock up.
  1655.  
  1656.          ------------------------------------------------------------------
  1657.  
  1658.          MainWindow - SUB
  1659.  
  1660.          ACTION    Make virtual window top most window.
  1661.  
  1662.          SYNTAX    MainWindow handle%
  1663.  
  1664.          REMARKS   This sub accepts the following argument:
  1665.  
  1666.                    Argument         Description
  1667.                    ---------------  --------------------------------------
  1668.                    Handle%          Handle of virtual window.
  1669.  
  1670.                    Places the specified virtual window on top of all
  1671.                    displayed windows.  If the window is not presently being
  1672.                    displayed, it is displayed using the last (or default)
  1673.                    window dimensions.  The global variable CurrentWindow%
  1674.                    is set to Handle%.
  1675.  
  1676.          ------------------------------------------------------------------
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.                 (c) Copyright 1988-1992 DSE Software Publishing
  1683.  
  1684.  
  1685.          ProWindows(tm) LITE - Version 5.20                           2.11
  1686.  
  1687.          MakeWindow - SUB
  1688.  
  1689.          ACTION    Displays a non-removable window.
  1690.  
  1691.          SYNTAX    MakeWindow Row%, Col%, Rows%, Cols%, Attr%, Border%,
  1692.                               Shadow%, Zoom%, SNOW%
  1693.  
  1694.          REMARKS   This sub accepts the following arguments:
  1695.  
  1696.                    Argument         Description
  1697.                    ---------------  --------------------------------------
  1698.                    row%, col%       Screen position to display the window.
  1699.                    rows%, cols%     Dimensions of window.
  1700.                    Attrib%          Video attribute of new window.
  1701.                    Border%          Border style of new window.
  1702.                    Shadow%          Shadow style of new window.
  1703.                    Zoom%            Zoom style of new window.
  1704.                    SNOW%            The Global Variable SNOW%
  1705.  
  1706.                    MakeWindow() is functionally identical to PopWindow()
  1707.                    except that it completely bypasses the WLS so that your
  1708.                    existing screen is NOT saved, and can NOT be restored,
  1709.                    and all window printing routines are NOT referenced to
  1710.                    this screen.  All printing to this screen must be
  1711.                    accomplished with the standard BASIC statements and/or
  1712.                    the ProWindows functions vprint() and sprint().
  1713.  
  1714.                    The final parameter should always be the global variable
  1715.                    SNOW%.
  1716.  
  1717.          ------------------------------------------------------------------
  1718.  
  1719.          ModifyWindow - SUB
  1720.  
  1721.          ACTION    Change icons available on a window.
  1722.  
  1723.          SYNTAX    ModifyWindow handle%, icons%
  1724.  
  1725.          REMARKS   This sub accepts the following arguments:
  1726.  
  1727.                    Argument         Description
  1728.                    ---------------  --------------------------------------
  1729.                    Handle%          Handle of virtual window.
  1730.                    icons%           Added values of icons to add/delete.
  1731.  
  1732.                    Allows you to add/delete icons on an existing window.
  1733.                    This function does NOT automatically refresh the window.
  1734.  
  1735.          SEE ALSO  OpenWindow
  1736.  
  1737.          ------------------------------------------------------------------
  1738.  
  1739.          MoveWindow - SUB
  1740.  
  1741.          ACTION    Move a virtual window.
  1742.  
  1743.          SYNTAX    MoveWindow handle%, row%, col%
  1744.  
  1745.          REMARKS   This sub accepts the following arguments:
  1746.  
  1747.                 (c) Copyright 1988-1992 DSE Software Publishing
  1748.  
  1749.  
  1750.          ProWindows(tm) LITE - Version 5.20                           2.12
  1751.  
  1752.                    Argument         Description
  1753.                    ---------------  --------------------------------------
  1754.                    Handle%          Handle of virtual window.
  1755.                    row%, col%       Screen position to move the window to.
  1756.  
  1757.                    Moves a displayed virtual window to a new location on
  1758.                    the screen.  The window remains at the same level.
  1759.  
  1760.          ------------------------------------------------------------------
  1761.  
  1762.          OpenWindow - SUB
  1763.  
  1764.          ACTION    Creates a new virtual window.
  1765.  
  1766.          SYNTAX    OpenWindow handle%, rows%, cols%, attrib%, border%,
  1767.                               shadow%, zoom%, icons%
  1768.  
  1769.          REMARKS   This sub accepts the following arguments:
  1770.  
  1771.                    Argument         Description
  1772.                    ---------------  --------------------------------------
  1773.                    handle%          Handle to identify window with.
  1774.                    rows%, cols%     Dimensions of the window.
  1775.                    attrib%          Video attribute of new window.
  1776.                    border%          Border style of new window (0-12).
  1777.                    shadow%          Shadow style of new window (0-4).
  1778.                    zoom%            Zoom style of new window (0-11).
  1779.                    icons            Added icon values (see Section 3).
  1780.  
  1781.                    Creates a brand new virtual window with the specified
  1782.                    characteristics.  The window remains invisible until an
  1783.                    appropriate display function is called.  The global
  1784.                    variable CurrentWindow% is set to the new window's
  1785.                    handle.
  1786.  
  1787.          SEE ALSO  DisplayWindow, FREEWINDOW, PopWindow, and ShowWindow
  1788.  
  1789.          ------------------------------------------------------------------
  1790.  
  1791.          PopSound - SUB
  1792.          RemoveSound - SUB
  1793.  
  1794.          ACTION    Generate sound effects.
  1795.  
  1796.          SYNTAX    PopSound
  1797.                    RemoveSound
  1798.  
  1799.          REMARKS   These are the actual subroutines called when the global
  1800.                    variable SOUNDMODE% is set during the creation or
  1801.                    removal of a pop up window.  You may call these same
  1802.                    functions at your leisure.
  1803.  
  1804.                    Prior to calling either subroutine, set the global
  1805.                    variable SOUNDMODE% to:
  1806.  
  1807.                         SOUND_MODE = 0     (no sound)
  1808.                         SOUND_MODE = 1     (click)
  1809.                         SOUND_MODE = 2     (beep)
  1810.                         SOUND_MODE = 3     (glisando)
  1811.  
  1812.                 (c) Copyright 1988-1992 DSE Software Publishing
  1813.  
  1814.  
  1815.          ProWindows(tm) LITE - Version 5.20                           2.13
  1816.  
  1817.                    Both functions are identical with the exception that
  1818.                    when SOUNDMODE% is set to GLISANDO, RemoveSound() goes
  1819.                    down scale rather than up.
  1820.  
  1821.          ------------------------------------------------------------------
  1822.  
  1823.          PopWindow - SUB
  1824.  
  1825.          ACTION    Creates and displays a new window.
  1826.  
  1827.          SYNTAX    PopWindow Row%, Col%, Rows%, Cols%, Attrib,
  1828.                              Border%, Shadow%, Zoom%
  1829.          REMARKS   This sub accepts the following arguments:
  1830.  
  1831.                    Argument         Description
  1832.                    ---------------  --------------------------------------
  1833.                    row%, col%       Screen position to display the window.
  1834.                    rows%, cols%     Dimensions of window.
  1835.                    attrib%          Video attribute of new window.
  1836.                    border%          Border style of new window.
  1837.                    shadow%          Shadow style of new window.
  1838.                    zoom%            Zoom style of new window.
  1839.  
  1840.                    PopWindow() is used when a stack based windowing
  1841.                    environment is preferred.  For every window created with
  1842.                    PopWindow(), there should later be a matching call to
  1843.                    RemoveWindow().  The global variable CurrentWindow%
  1844.                    holds the handle of the new window.
  1845.  
  1846.          SEE ALSO  OpenWindow and RemoveWindow.
  1847.  
  1848.          ------------------------------------------------------------------
  1849.  
  1850.          PreInit - SUB
  1851.  
  1852.          ACTION    Pre-initializes all unused arrays
  1853.  
  1854.          SYNTAX    PreInit
  1855.  
  1856.          REMARKS   This function solves various external variable
  1857.                    references in the program code so that you will NOT have
  1858.                    to include the $INCLUDE files for functions that are not
  1859.                    being used.  Got that?
  1860.  
  1861.                    PreInit() MUST be called prior to DIMensioning any
  1862.                    program variables
  1863.  
  1864.          ------------------------------------------------------------------
  1865.  
  1866.          PutScreen - SUB
  1867.  
  1868.          ACTION    Restores an area of the screen to stored with GetScreen.
  1869.  
  1870.          SYNTAX    PutScreen row%, col%, rows%, cols%, DataSeg%, DataOff%,
  1871.                              SNOW%
  1872.  
  1873.          REMARKS   This sub accepts the following arguments:
  1874.  
  1875.  
  1876.  
  1877.                 (c) Copyright 1988-1992 DSE Software Publishing
  1878.  
  1879.  
  1880.          ProWindows(tm) LITE - Version 5.20                           2.14
  1881.  
  1882.                    Argument         Description
  1883.                    ---------------  --------------------------------------
  1884.                    row%, col%       Screen position to restore copy.
  1885.                    rows%, cols%     Dimensions of restore area.
  1886.                    DataSeg%         Segment address of storage array.
  1887.                    DataOff%         Offset address of storage array.
  1888.                    SNOW%            The Global Variable SNOW%
  1889.  
  1890.                    This routine restores an area of the screen saved using
  1891.                    GetScreen(). Ideally you would restore the screen at the
  1892.                    same coordinates you copied if from, but you may place
  1893.                    it anywhere on the current screen if you wish.  You may
  1894.                    also place the same screen several times in different
  1895.                    locations as long as you have not modified the original
  1896.                    memory.
  1897.  
  1898.                    The final parameter should always be the global variable
  1899.                    SNOW%.
  1900.  
  1901.          SEE ALSO  GetScreen
  1902.  
  1903.          ------------------------------------------------------------------
  1904.  
  1905.          ReAlignWindow - SUB
  1906.  
  1907.          ACTION    Adjusts view port within a virtual window.
  1908.  
  1909.          SYNTAX    ReAlignWindow handle%, viewrow%, viewcol%
  1910.  
  1911.          REMARKS   This sub accepts the following arguments:
  1912.  
  1913.                    Argument         Description
  1914.                    ---------------  --------------------------------------
  1915.                    handle%          Handle of virtual window.
  1916.                    vrow%, vcol%     Position within the window to view.
  1917.  
  1918.                    Adjusts the view port into a virtual window.  By
  1919.                    adjusting the values, you can permit both vertical and
  1920.                    horizontal scrolling of a window.
  1921.  
  1922.          ------------------------------------------------------------------
  1923.  
  1924.          RecycleMode - SUB
  1925.  
  1926.          ACTION    Permit usage of excess video ram as "scratch" buffer.
  1927.  
  1928.          SYNTAX    RecycleMode mode%
  1929.  
  1930.          REMARKS   This sub accepts the following argument:
  1931.  
  1932.                    Argument         Description
  1933.                    ---------------  --------------------------------------
  1934.                    mode%            0 to disable video recycling.
  1935.                                     1 to enable video recycling.
  1936.  
  1937.                    RecycleMode() allows you to utilize unused (in most
  1938.                    applications) video display RAM as a scratch buffer for
  1939.                    video operations.  Enabling "video recycling" will
  1940.                    typically free up 24K (kilobytes) of system memory, and
  1941.  
  1942.                 (c) Copyright 1988-1992 DSE Software Publishing
  1943.  
  1944.  
  1945.          ProWindows(tm) LITE - Version 5.20                           2.15
  1946.  
  1947.                    increase window manipulation speed.
  1948.  
  1949.                    Video pages 0 and 1 are left to the user, but pages 2
  1950.                    and above are assigned for use by the Window Manager's
  1951.                    internal functions.
  1952.  
  1953.          NOTE      Video recycling is not available on monochrome system
  1954.                    and is automatically disabled.  If the global array
  1955.                    VirMem%() is dimensioned large enough, this should not
  1956.                    interfere with program operation.
  1957.  
  1958.          ------------------------------------------------------------------
  1959.  
  1960.          RefreshAllWindows - SUB
  1961.  
  1962.          ACTION    Updates all windows currently being displayed.
  1963.  
  1964.          SYNTAX    RefreshAllWindows
  1965.  
  1966.          REMARKS   Updates the contents of all virtual windows currently
  1967.                    being displayed.  Their positions are NOT altered.
  1968.  
  1969.          SEE ALSO  RefreshMain and RefreshWindow.
  1970.  
  1971.          ------------------------------------------------------------------
  1972.  
  1973.          RefreshMain - SUB
  1974.  
  1975.          ACTION    Refreshes the top most window.
  1976.  
  1977.          SYNTAX    RefreshMain
  1978.  
  1979.          REMARKS   Updates the contents of the top most window.  It is
  1980.                    considerably faster than all other update functions.
  1981.  
  1982.          SEE ALSO  RefreshAllWindows and RefreshWindow.
  1983.  
  1984.          ------------------------------------------------------------------
  1985.  
  1986.          RefreshMode - SUB
  1987.  
  1988.          ACTION    Enables immediate updating of displayed windows.
  1989.  
  1990.          SYNTAX    RefreshMode mode%
  1991.  
  1992.          REMARKS   This sub accepts the following argument:
  1993.  
  1994.                    Argument         Description
  1995.                    ---------------  --------------------------------------
  1996.                    mode%            0 to disable immediate updating.
  1997.                                     1 to enable immediate updating.
  1998.  
  1999.                    RefreshMode() allows you to turn off screen updating,
  2000.                    and thus save considerable time, when writing large
  2001.                    amounts of data to window(s).  After all information has
  2002.                    been written, you can re-enable the refreshing and call
  2003.                    any of window refreshing functions to update the
  2004.                    display.
  2005.  
  2006.  
  2007.                 (c) Copyright 1988-1992 DSE Software Publishing
  2008.  
  2009.  
  2010.          ProWindows(tm) LITE - Version 5.20                           2.16
  2011.  
  2012.          SEE ALSO  RefreshMain, RefreshAllWindows, and RefreshWindow.
  2013.  
  2014.          ------------------------------------------------------------------
  2015.  
  2016.          RefreshWindow - SUB
  2017.  
  2018.          ACTION    Refreshes the specified window.
  2019.  
  2020.          SYNTAX    RefreshWindow handle%
  2021.  
  2022.          REMARKS   This sub accepts the following argument:
  2023.  
  2024.  
  2025.                    Argument         Description
  2026.                    ---------------  --------------------------------------
  2027.                    handle%          Handle of virtual window to refresh.
  2028.                    Updates the contents of the specified window (and all
  2029.                    windows on top of it).
  2030.  
  2031.          SEE ALSO  RefreshMain and RefreshAllWindows.
  2032.  
  2033.          ------------------------------------------------------------------
  2034.  
  2035.          RemoveWindow - SUB
  2036.  
  2037.          ACTION    Removes current window being displayed.
  2038.  
  2039.          SYNTAX    RemoveWindow
  2040.  
  2041.          REMARKS   Removes current window pointed to by a subscript of the
  2042.                    global array wcbndx%(), specifically wcbndx%(WI%).  The
  2043.                    screen is restored to it's original contents.
  2044.  
  2045.          NOTE      This function is used for stack based windowing.  Each
  2046.                    call to RemoveWindow() should correspond to a previous
  2047.                    call to PopWindow().  Stack based Windows are removed in
  2048.                    reverse order of the way the were created.
  2049.                    CloseWindow() is the preferred method of removing
  2050.                    windows.
  2051.  
  2052.          SEE ALSO: CloseWindow, HideWindow, OpenWindow and PopWindow
  2053.  
  2054.          ------------------------------------------------------------------
  2055.  
  2056.          ResizeWindow - SUB
  2057.  
  2058.          ACTION    Re-sizes displayed portion of a window.
  2059.  
  2060.          SYNTAX    ResizeWindow handle%, rows%, cols%
  2061.  
  2062.          REMARKS   This sub accepts the following arguments:
  2063.  
  2064.                    Argument         Description
  2065.                    ---------------  --------------------------------------
  2066.                    handle%          Handle of window to re-size.
  2067.                    rows%, cols%     New dimensions of window.
  2068.  
  2069.                    Re-dimensions the viewable portion of a virtual window.
  2070.                    The internal contents of the window are NOT affected.
  2071.  
  2072.                 (c) Copyright 1988-1992 DSE Software Publishing
  2073.  
  2074.  
  2075.          ProWindows(tm) LITE - Version 5.20                           2.17
  2076.  
  2077.          RestoreWindow - SUB
  2078.  
  2079.          ACTION    Internal to Window Manager - DO NOT USE
  2080.  
  2081.          SYNTAX    RestoreWindow
  2082.  
  2083.          REMARKS   Removes a window from the internal window stack, frees
  2084.                    allocated memory, and updates the display.  Its workings
  2085.                    are controlled by internal variables and it should never
  2086.                    be called.
  2087.  
  2088.          ------------------------------------------------------------------
  2089.  
  2090.          ScanHandle% - FUNCTION
  2091.  
  2092.          ACTION    Determine if a window handle is in use.
  2093.  
  2094.          SYNTAX    variablename% = ScanHandle(handle%)
  2095.  
  2096.          REMARKS   This function accepts the following argument:
  2097.  
  2098.                    Argument         Description
  2099.                    ---------------  --------------------------------------
  2100.                    handle%          Handle of window to detect.
  2101.  
  2102.                    Returns handle% if the window exists, or returns 0 if
  2103.                    the window does not exist.
  2104.  
  2105.          ------------------------------------------------------------------
  2106.  
  2107.          ScanVirtualBlock% - FUNCTION
  2108.  
  2109.          ACTION    Internal to Window Manager - DO NOT USE
  2110.  
  2111.          SYNTAX    variablename% = ScanVirtualBlock (block%)
  2112.  
  2113.          REMARKS   Returns an integer pointing to an internal memory
  2114.                    control block (MCB).
  2115.  
  2116.          ------------------------------------------------------------------
  2117.  
  2118.          ScreenMode% - FUNCTION
  2119.  
  2120.          ACTION    Returns current DOS screen mode.
  2121.  
  2122.          SYNTAX    variablename% = ScreenMode%
  2123.  
  2124.          REMARKS   This function returns the current DOS screen mode.
  2125.  
  2126.          -----------------------------------------------------------------
  2127.  
  2128.          SetBorderColor - SUB
  2129.  
  2130.          ACTION    Set window border coloring scheme.
  2131.  
  2132.          SYNTAX    SetBorderColor mode%, attrib%
  2133.  
  2134.          REMARKS   This function accepts the following argument(s):
  2135.  
  2136.  
  2137.                 (c) Copyright 1988-1992 DSE Software Publishing
  2138.  
  2139.  
  2140.          ProWindows(tm) LITE - Version 5.20                           2.18
  2141.  
  2142.                    Argument         Description
  2143.                    ---------------  --------------------------------------
  2144.                    mode%            0 - Use window color.
  2145.                                     1 - Assume window background color.
  2146.                                     2 - use attrib%.
  2147.                    attrib%          Color of border when mode is 2.
  2148.  
  2149.                    This routine defines the coloring scheme of window
  2150.                    borders.  A window's border color by default is the same
  2151.                    color as the window itself.  This routine will allow you
  2152.                    to set a single border color for all windows, or make
  2153.                    the border's foreground color match the background color
  2154.                    of the window.
  2155.  
  2156.          -----------------------------------------------------------------
  2157.  
  2158.          SetBWmode - SUB
  2159.  
  2160.          ACTION    Puts color adaptors into simulated monochrome mode.
  2161.  
  2162.          SYNTAX    SetBWmode mode%
  2163.  
  2164.          REMARKS   This function accepts the following argument(s):
  2165.  
  2166.                    Argument         Description
  2167.                    ---------------  --------------------------------------
  2168.                    mode%            0 = normal.
  2169.                                     1 = simulate monochrome.
  2170.  
  2171.                    Instructs all ProWindows functions to assume a simulated
  2172.                    monochrome mode.  Colors are converted to BW equivalents
  2173.                    based on an internal conversion table.  This colors are
  2174.                    identical across all monitor types.
  2175.  
  2176.          SEE ALSO  SetBWmode and SetMonitorColor.
  2177.  
  2178.          ------------------------------------------------------------------
  2179.  
  2180.          SetCompressMode - SUB
  2181.  
  2182.          ACTION    Internal to Window Manager - DO NOT USE
  2183.  
  2184.          SYNTAX    SetCompressMode mode%
  2185.  
  2186.          REMARKS   Used by Menu Logic System (MLS) to disable screen
  2187.                    compression on menu windows.  This causes an increase of
  2188.                    memory usage, but speeds up display time considerably.
  2189.                    This function is internally controlled and should never
  2190.                    be called.
  2191.  
  2192.          ------------------------------------------------------------------
  2193.  
  2194.          SetMonitorColor - SUB
  2195.  
  2196.          ACTION    Change color of simulated monochrome mode
  2197.  
  2198.          SYNTAX    SetMonitorColor kolor%
  2199.  
  2200.          REMARKS   This function accepts the following argument:
  2201.  
  2202.                 (c) Copyright 1988-1992 DSE Software Publishing
  2203.  
  2204.  
  2205.          ProWindows(tm) LITE - Version 5.20                           2.19
  2206.  
  2207.                    Argument         Description
  2208.                    ---------------  --------------------------------------
  2209.                    kolor%           1 = Blue
  2210.                                     2 = Green
  2211.                                     3 = Cyan
  2212.                                     4 = Red
  2213.                                     5 = Magenta
  2214.                                     6 = Amber
  2215.                                     7 = White
  2216.  
  2217.                    Changes the display attribute when in a simulated
  2218.                    monochrome mode.
  2219.  
  2220.          SEE ALSO  IsBWmode and SetBWmode.
  2221.  
  2222.          ------------------------------------------------------------------
  2223.  
  2224.          SetShadow - SUB
  2225.  
  2226.          ACTION    Set window shadow coloring scheme.
  2227.  
  2228.          SYNTAX    SetShadow attribute%, char%
  2229.  
  2230.          REMARKS   This sub accepts the following arguments:
  2231.  
  2232.                    Argument         Description
  2233.                    ---------------  --------------------------------------
  2234.                    attribute%       Value  Description
  2235.                                     -----  -------------------------------
  2236.                                         0  Black shadow.
  2237.                                     1-255  Attribute color.
  2238.                                        -1  Use window foreground color.
  2239.                                        -2  Use window background color.
  2240.  
  2241.                    char%            Value  Description
  2242.                                     -----  -------------------------------
  2243.                                     0-255  Use ASCII character.
  2244.                                        -1  Transparent shadow.
  2245.  
  2246.                    This routine defines the coloring scheme of window
  2247.                    shadows.  A window's shadow color by default is flat
  2248.                    black.  The routine will allow you to create transparent
  2249.                    shadows that match the color of the window, or are
  2250.                    inverse from the color of the beneath text.  The
  2251.                    following produces the most natural looking shadow:
  2252.  
  2253.                         SetShadow -2, -1
  2254.  
  2255.          ------------------------------------------------------------------
  2256.  
  2257.          SetWindow - SUB
  2258.  
  2259.          ACTION    Sets the Current Window
  2260.  
  2261.          SYNTAX    SetWindow handle%
  2262.  
  2263.          REMARKS   This sub accepts the following arguments:
  2264.  
  2265.  
  2266.  
  2267.                 (c) Copyright 1988-1992 DSE Software Publishing
  2268.  
  2269.  
  2270.          ProWindows(tm) LITE - Version 5.20                           2.20
  2271.  
  2272.                    Argument         Description
  2273.                    ---------------  --------------------------------------
  2274.                    handle%          Handle of window to set.
  2275.  
  2276.                    Makes the specified window the current window.  The
  2277.                    global variable CurrentWindow% is set to handle% and all
  2278.                    ProWindows print statements will be diverted to this
  2279.                    window.  If the window does not exist, an error message
  2280.                    is displayed and the program halted.
  2281.  
  2282.          SEE ALSO  ForceWindow
  2283.  
  2284.          ------------------------------------------------------------------
  2285.  
  2286.          SetZoomSpeed - SUB
  2287.  
  2288.          ACTION    Sets expansion rate of a zoomed window.
  2289.  
  2290.          SYNTAX    SetZoomSpeed mseconds%
  2291.  
  2292.          REMARKS   This sub accepts the following arguments:
  2293.  
  2294.                    Argument         Description
  2295.                    ---------------  --------------------------------------
  2296.                    mseconds%        Delay in milli-seconds.
  2297.  
  2298.                    Defines the delay time between frames of a zoomed
  2299.                    window.  This time is constant regardless of CPU type or
  2300.                    clock speed.  The default speed is 25 milli-seconds.
  2301.  
  2302.          ------------------------------------------------------------------
  2303.  
  2304.          SetZoomStyle - SUB
  2305.  
  2306.          ACTION    Sets the virtual paging mode of zoomed windows.
  2307.  
  2308.          SYNTAX    SetZoomStyle mode%
  2309.  
  2310.          REMARKS   This sub accepts the following arguments:
  2311.  
  2312.                    Argument         Description
  2313.                    ---------------  --------------------------------------
  2314.                    mode%            0 = DO NOT USE
  2315.                                     1 = Open Viewport
  2316.                                     2 = Wipe
  2317.  
  2318.                    Defines how windows look when the are zoomed onto the
  2319.                    display.  Mode 1 opens the window onto an existing scene
  2320.                    (like opening a door).  Mode 2 wipe the new window
  2321.                    across the existing display.
  2322.  
  2323.          ------------------------------------------------------------------
  2324.  
  2325.          SetWindowMinSize - SUB
  2326.  
  2327.          ACTION    Defines the minimum displayable dimensions of a window.
  2328.  
  2329.          SYNTAX    SetWindowMinSize handle%, rows%, cols%
  2330.  
  2331.  
  2332.                 (c) Copyright 1988-1992 DSE Software Publishing
  2333.  
  2334.  
  2335.          ProWindows(tm) LITE - Version 5.20                           2.21
  2336.  
  2337.          REMARKS   This sub accepts the following arguments:
  2338.  
  2339.                    Argument         Description
  2340.                    ---------------  --------------------------------------
  2341.                    handle%          Handle of window to define.
  2342.                    rows%, cols%     Minimum dimensions of window.
  2343.  
  2344.                    Defines the minimum dimensions a window can be set to
  2345.                    using the mouse.  This function causes self-correction
  2346.                    of invalid dimensions.
  2347.  
  2348.          ------------------------------------------------------------------
  2349.  
  2350.          ShowVLSmemory - SUB
  2351.  
  2352.          ACTION    Internal to Window Manager - DO NOT USE
  2353.  
  2354.          SYNTAX    ShowVLSmemory.
  2355.  
  2356.          REMARKS   Displays the number of windows being displayed, and the
  2357.                    amounts of window stack memory and virtual window memory
  2358.                    being used.  Displayed automatically when the global
  2359.                    variable CreateMode% is set.
  2360.  
  2361.          ------------------------------------------------------------------
  2362.  
  2363.          ShowWindow - SUB
  2364.  
  2365.          ACTION    Displays the current window.
  2366.  
  2367.          SYNTAX    ShowWindow row%, col%, rows%, cols%, vrow%, vcol%
  2368.  
  2369.          REMARKS   This sub accepts the following arguments:
  2370.  
  2371.                    Argument         Description
  2372.                    ---------------  --------------------------------------
  2373.                    row%, col%       Screen position to display the window.
  2374.                    rows%, cols%     Dimensions of window.
  2375.                    vrow%, vcol%     Veiwport position within window.
  2376.  
  2377.                    Displays the window pointed to by the global variable
  2378.                    CurrentWindow%.
  2379.  
  2380.          SEE ALSO  DisplayWindow
  2381.  
  2382.          ------------------------------------------------------------------
  2383.  
  2384.          sprint - SUB
  2385.  
  2386.          ACTION    Displays text on the current screen - sideways
  2387.  
  2388.          SYNTAX    sprint row%, col%, attrib%, Text$, SNOW%
  2389.  
  2390.          REMARKS   This sub accepts the following arguments:
  2391.  
  2392.                    Argument         Description
  2393.                    ---------------  --------------------------------------
  2394.                    row%, col%       Screen position of text to display.
  2395.                    attrib%          Video attribute of text.
  2396.  
  2397.                 (c) Copyright 1988-1992 DSE Software Publishing
  2398.  
  2399.  
  2400.          ProWindows(tm) LITE - Version 5.20                           2.22
  2401.  
  2402.                    Text$            String literal to display.
  2403.                    SNOW%            The Global Variable SNOW%
  2404.  
  2405.                    Places text at the specified position on the current
  2406.                    screen, vertically rather than horizontally.
  2407.  
  2408.                    This subroutine is a low level routine that writes text
  2409.                    directly to video memory.  The coordinates supplied are
  2410.                    the actual screen coordinates and are NOT referenced to
  2411.                    any current pop up window being displayed.  This routine
  2412.                    also provides absolutely NO error correction so you must
  2413.                    see that text does not run off the bottom of the page.
  2414.  
  2415.                    The final parameter should always be the global variable
  2416.                    SNOW%.
  2417.  
  2418.          SEE ALSO  vprint
  2419.  
  2420.          ------------------------------------------------------------------
  2421.  
  2422.          StoreWindow - SUB
  2423.  
  2424.          ACTION    Internal to Window Manager - DO NOT USE
  2425.  
  2426.          SYNTAX    StoreWindow row%, col%, rows%, cols%, shadow%
  2427.  
  2428.          REMARKS   This is a low level function that saves screen fragments
  2429.                    in the window stack.
  2430.  
  2431.          ------------------------------------------------------------------
  2432.  
  2433.          TitleWindow - SUB
  2434.  
  2435.          ACTION    Places specified text at any of eight border locations.
  2436.  
  2437.          SYNTAX    TitleWindow titlepos%, Text$
  2438.  
  2439.          REMARKS   This sub accepts the following arguments:
  2440.  
  2441.                    Argument         Description
  2442.                    ---------------  --------------------------------------
  2443.                    titlepos%        window border location to print title.
  2444.                    text$            String literal of title to display.
  2445.  
  2446.                    A title is placed on the window pointed to by the global
  2447.                    variable CurrentWindow%.  Foreground and background
  2448.                    colors are set to the default for that particular
  2449.                    window.
  2450.  
  2451.                    The eight permitted title positions are :
  2452.  
  2453.                         1 - Top Left.
  2454.                         2 - Top Center.
  2455.                         3 - Top Right.
  2456.                         4 - Bottom Left.
  2457.                         5 - Bottom Center.
  2458.                         6 - Bottom Right.
  2459.                         7 - Center Left Border.
  2460.                         8 - Center Right Border.
  2461.  
  2462.                 (c) Copyright 1988-1992 DSE Software Publishing
  2463.  
  2464.  
  2465.          ProWindows(tm) LITE - Version 5.20                           2.23
  2466.  
  2467.          UNATTR - SUB
  2468.  
  2469.          ACTION    Separates an integer attribute into its individual
  2470.                    components.
  2471.  
  2472.          SYNTAX    unattr attribute%, fore%, back%
  2473.  
  2474.          REMARKS   The video attribute to be separated is passed in the
  2475.                    attribute% argument, and the separated attribute is
  2476.                    returned in foreground% and background%.
  2477.  
  2478.          ------------------------------------------------------------------
  2479.  
  2480.          UNBINATTR - SUB
  2481.  
  2482.          ACTION    Separates an integer attribute into its individual
  2483.                    components and flags.
  2484.          SYNTAX    unbinattr attribute%, fore%, back%, highlight%, blink%
  2485.  
  2486.          REMARKS   The video attribute to be separated is passed in the
  2487.                    attribute% argument, and the separated attribute is
  2488.                    returned in fore%, back%, highlight%, and blink%.
  2489.  
  2490.          ------------------------------------------------------------------
  2491.  
  2492.          UpdateScrollBars - SUB
  2493.  
  2494.          ACTION    Updates a window scroll bars.
  2495.  
  2496.          SYNTAX    UpdateScrollBars
  2497.  
  2498.          REMARKS   Updates the position of the current windows scrollbars
  2499.                    based on the contents of the global array elements
  2500.                    vcb().VertPos% and vcb().VertPos%.
  2501.  
  2502.          ------------------------------------------------------------------
  2503.  
  2504.          ValidateWindow - SUB
  2505.  
  2506.          ACTION    Internal to Window Manager - DO NOT USE
  2507.  
  2508.          SYNTAX    ValidateWindow row%, col%, rows%, cols%
  2509.  
  2510.          REMARKS   This function makes sure that all window coordinates are
  2511.                    valid at display time.
  2512.  
  2513.          ------------------------------------------------------------------
  2514.  
  2515.          VideoBoard% - FUNCTION
  2516.  
  2517.          ACTION    Returns current video adapter card type
  2518.  
  2519.          SYNTAX    variablename% = VideoBoard%
  2520.  
  2521.          REMARKS   This function returns the current video adapter card
  2522.                    type.  Possible values are:
  2523.  
  2524.                         0 = MDA
  2525.                         1 = CGA
  2526.  
  2527.                 (c) Copyright 1988-1992 DSE Software Publishing
  2528.  
  2529.  
  2530.          ProWindows(tm) LITE - Version 5.20                           2.24
  2531.  
  2532.                         2 = EGA
  2533.                         3 = MCGA
  2534.                         4 = VGA
  2535.                         5 = VGA Monochrome
  2536.  
  2537.          -----------------------------------------------------------------
  2538.  
  2539.          VideoPage - FUNCTION
  2540.  
  2541.          ACTION    Ruturns the current screen video page.
  2542.  
  2543.          SYNTAX    variablename% = VideoPage%
  2544.  
  2545.          REMARKS   This function returns the current screen video page and
  2546.                    can range from 0 to 7 depending on the adapter type.
  2547.  
  2548.          -----------------------------------------------------------------
  2549.  
  2550.          VideoPageLen - FUNCTION
  2551.  
  2552.          ACTION    Returns the current video page length.
  2553.  
  2554.          SYNTAX    variablename% = VideoPageLen%
  2555.  
  2556.          REMARKS   This function returns the length (in bytes) of a single
  2557.                    video page.  This value will vary with the adapter type
  2558.                    and the number of displayed lines.  Monochrome cards
  2559.                    incorrectly return 16384.
  2560.  
  2561.          -----------------------------------------------------------------
  2562.  
  2563.          vprint - SUB
  2564.  
  2565.          ACTION    Displays text on the current screen.
  2566.  
  2567.          SYNTAX    vprint row%, col%, attrib%, Text$, SNOW%
  2568.  
  2569.          REMARKS   This sub accepts the following arguments:
  2570.  
  2571.                    Argument         Description
  2572.                    ---------------  --------------------------------------
  2573.                    row%, col%       Screen position of text to display.
  2574.                    attrib%          Video attribute of text.
  2575.                    Text$            String literal to display.
  2576.                    SNOW%            The Global Variable SNOW%
  2577.  
  2578.                    This subroutine is a low level routine that writes text
  2579.                    directly to video memory.  The coordinates supplied are
  2580.                    the actual screen coordinates and are NOT referenced to
  2581.                    any current pop up window being displayed.  This routine
  2582.                    also provides absolutely NO error correction so you must
  2583.                    see that text does not run off the bottom of the page.
  2584.  
  2585.                    The final parameter should always be the global variable
  2586.                    SNOW%.
  2587.  
  2588.          SEE ALSO  sprint
  2589.  
  2590.          ------------------------------------------------------------------
  2591.  
  2592.                 (c) Copyright 1988-1992 DSE Software Publishing
  2593.  
  2594.  
  2595.          ProWindows(tm) LITE - Version 5.20                           2.25
  2596.  
  2597.          WhatWindow% - FUNCTION
  2598.  
  2599.          ACTION    Returns handle of window at given location.
  2600.  
  2601.          SYNTAX    variablename% = WhatWindow(Row, Col)
  2602.  
  2603.          REMARKS   This sub accepts the following arguments:
  2604.  
  2605.                    Argument         Description
  2606.                    ---------------  --------------------------------------
  2607.                    row%, col%       Internal position of any window.
  2608.  
  2609.                    Returns the handle of the window at the given screen
  2610.                    coordinates.
  2611.  
  2612.          ------------------------------------------------------------------
  2613.  
  2614.          winCLS - SUB
  2615.  
  2616.          ACTION    Clears out the contents of the specified window.
  2617.  
  2618.          SYNTAX    winCLS
  2619.  
  2620.          REMARKS   This sub accepts the following argument:
  2621.  
  2622.                    Argument         Description
  2623.                    ---------------  --------------------------------------
  2624.                    winHandle%       Window handle to clear.
  2625.  
  2626.                    This function clears out the contents of the specified
  2627.                    virtual window and resets the cursor to the top left
  2628.                    position on the window.
  2629.  
  2630.          SEE ALSO  CDEMO.BAS
  2631.  
  2632.          ------------------------------------------------------------------
  2633.  
  2634.          winColor - SUB
  2635.  
  2636.          ACTION    Changes the current working colors.
  2637.  
  2638.          SYNTAX    winColor winHandle%, Fore%, Back%
  2639.  
  2640.          REMARKS   This sub accepts the following arguments:
  2641.  
  2642.                    Argument         Description
  2643.                    ---------------  --------------------------------------
  2644.                    winHandle%       Window handle to change colors.
  2645.                    Fore%            The foreground color ranging 0 to 31.
  2646.                    Back%            The background color ranging 0 to 15.
  2647.  
  2648.                    This function sets the current working colors to the
  2649.                    specified foreground and background attributes.  All
  2650.                    subsequent winPrint() calls to that window will print
  2651.                    with these attributes.
  2652.  
  2653.          SEE ALSO  CDEMO.BAS
  2654.  
  2655.          ------------------------------------------------------------------
  2656.  
  2657.                 (c) Copyright 1988-1992 DSE Software Publishing
  2658.  
  2659.  
  2660.          ProWindows(tm) LITE - Version 5.20                           2.26
  2661.  
  2662.          winDeleteLine - SUB
  2663.  
  2664.          ACTION    Deletes line at cursor position
  2665.  
  2666.          SYNTAX    winDeleteLine winHandle%
  2667.  
  2668.          REMARKS   This sub accepts the following argument:
  2669.  
  2670.                    Argument         Description
  2671.                    ---------------  --------------------------------------
  2672.                    winHandle%       Window handle where line is.
  2673.  
  2674.                    This function deletes the line at the current window
  2675.                    position.  If the line is within the current window
  2676.                    viewport, the screen is automatically updated.
  2677.  
  2678.          SEE ALSO  CDEMO.BAS
  2679.  
  2680.          ------------------------------------------------------------------
  2681.  
  2682.          wiInsertLine - SUB
  2683.  
  2684.          ACTION    Inserts a blank line at cursor position.
  2685.  
  2686.          SYNTAX    winInsertLine winHandle%
  2687.  
  2688.          REMARKS   This sub accepts the following argument:
  2689.  
  2690.                    Argument         Description
  2691.                    ---------------  --------------------------------------
  2692.                    winHandle%       Window handle where to insert.
  2693.  
  2694.                    This function inserts a blank line at the current window
  2695.                    position.  If the line is within the current window
  2696.                    viewport, the screen is automatically updated.
  2697.  
  2698.          SEE ALSO  CDEMO.BAS
  2699.  
  2700.          ------------------------------------------------------------------
  2701.  
  2702.          winLocate - SUB
  2703.  
  2704.          ACTION    Repositions the cursor within a window.
  2705.  
  2706.          SYNTAX    winLocate winHandle%, row%, col%
  2707.  
  2708.          REMARKS   This sub accepts the following arguments:
  2709.  
  2710.                    Argument         Description
  2711.                    ---------------  --------------------------------------
  2712.                    winHandle%       Window handle.
  2713.                    row%, col%       Window position to move cursor to.
  2714.  
  2715.                    This function moves the cursor to the specified location
  2716.                    within the virtual window.  If the line is within the
  2717.                    current window viewport, the cursor is displayed,
  2718.                    otherwise it is disabled.
  2719.  
  2720.          SEE ALSO  CDEMO.BAS
  2721.  
  2722.                 (c) Copyright 1988-1992 DSE Software Publishing
  2723.  
  2724.  
  2725.          ProWindows(tm) LITE - Version 5.20                           2.27
  2726.  
  2727.          winPos - SUB
  2728.  
  2729.          ACTION    Returns the cursor position within a window.
  2730.  
  2731.          SYNTAX    winPos winHandle%, row%, col%
  2732.  
  2733.          REMARKS   This sub accepts the following arguments:
  2734.  
  2735.                    Argument         Description
  2736.                    ---------------  --------------------------------------
  2737.                    winHandle%       Window handle.
  2738.                    row%, cols%      Current cursor position.
  2739.  
  2740.                    This function returns the current cursor position within
  2741.                    the specified window.
  2742.  
  2743.          ------------------------------------------------------------------
  2744.  
  2745.          winPrint - SUB
  2746.  
  2747.          ACTION    Prints a line of text at the window cursor position.
  2748.  
  2749.          SYNTAX    winPrint winHandle%, Text$
  2750.  
  2751.          REMARKS   This sub accepts the following arguments:
  2752.  
  2753.                    Argument         Description
  2754.                    ---------------  --------------------------------------
  2755.                    winHandle%       Window handle to print to.
  2756.                    Text$            Text string to print.
  2757.  
  2758.                    This function prints a line of text at the current
  2759.                    cursor position.  The cursor is then advanced to the end
  2760.                    of the printed text. If the line is within the current
  2761.                    window viewport, the screen is automatically updated.
  2762.  
  2763.          SEE ALSO  winColor, winPrintLn, CDEMO.BAS
  2764.  
  2765.          ------------------------------------------------------------------
  2766.  
  2767.          winPrintCR - SUB
  2768.  
  2769.          ACTION    Sends a carriage return to a window.
  2770.  
  2771.          SYNTAX    winPrintCR winHandle%
  2772.  
  2773.          REMARKS   This sub accepts the following argument:
  2774.  
  2775.                    Argument         Description
  2776.                    ---------------  --------------------------------------
  2777.                    winHandle%       Window handle to print to.
  2778.  
  2779.                    This function sends a carriage return to the specified
  2780.                    virtual window.  The cursor then moves to the beginning
  2781.                    of the current line.  If the line is within the current
  2782.                    window viewport, the screen is automatically updated.
  2783.  
  2784.          SEE ALSO  CDEMO.BAS
  2785.  
  2786.  
  2787.                 (c) Copyright 1988-1992 DSE Software Publishing
  2788.  
  2789.  
  2790.          ProWindows(tm) LITE - Version 5.20                           2.28
  2791.  
  2792.          winPrintCRLF - SUB
  2793.  
  2794.          ACTION    Sends a carriage return / linefeed pair to a window.
  2795.  
  2796.          SYNTAX    winPrintCRLF winHandle%
  2797.  
  2798.          REMARKS   This sub accepts the following argument:
  2799.                    Argument         Description
  2800.                    ---------------  --------------------------------------
  2801.                    winHandle%       Window handle to print to.
  2802.  
  2803.                    This function sends a carriage return / linefeed pair to
  2804.                    the specified virtual window.  The cursor is advanced to
  2805.                    the first column of the next line.  If the line is
  2806.                    within the current window viewport, the screen is
  2807.                    automatically updated.
  2808.  
  2809.          SEE ALSO  CDEMO.BAS
  2810.  
  2811.          ------------------------------------------------------------------
  2812.  
  2813.          winPrintLF - SUB
  2814.  
  2815.          ACTION    Sends a linefeed to a window.
  2816.  
  2817.          SYNTAX    winPrintLF winHandle%
  2818.  
  2819.          REMARKS   This sub accepts the following argument:
  2820.  
  2821.                    Argument         Description
  2822.                    ---------------  --------------------------------------
  2823.                    winHandle%       Window handle to print to.
  2824.  
  2825.                    This function sends a linefeed to the specified virtual
  2826.                    window.  The cursor advances to the current columns
  2827.                    position of the next line.  If the line is within the
  2828.                    current window viewport, the screen is automatically
  2829.                    updated.
  2830.  
  2831.          SEE ALSO  CDEMO.BAS
  2832.  
  2833.          ------------------------------------------------------------------
  2834.  
  2835.          winPrintLN - SUB
  2836.  
  2837.          ACTION    Prints a line of text at the window cursor position.
  2838.  
  2839.          SYNTAX    winPrintLn winHandle%, Text$
  2840.  
  2841.          REMARKS   This sub accepts the following argument:
  2842.  
  2843.                    Argument         Description
  2844.                    ---------------  --------------------------------------
  2845.                    winHandle%       Window handle to print to.
  2846.                    Text$            Text string to print.
  2847.  
  2848.                    This function prints a line of text at the current
  2849.                    window cursor position.  The cursor is then advanced to
  2850.                    the first column of the next line. If the line is within
  2851.  
  2852.                 (c) Copyright 1988-1992 DSE Software Publishing
  2853.  
  2854.  
  2855.          ProWindows(tm) LITE - Version 5.20                           2.29
  2856.  
  2857.                    the current window viewport, the screen is automatically
  2858.                    updated.
  2859.  
  2860.          SEE ALSO  winColor, winPrint, CDEMO.BAS
  2861.  
  2862.          ------------------------------------------------------------------
  2863.  
  2864.          winPrintNum - SUB
  2865.  
  2866.          ACTION    Prints formatted numeric data within a window.
  2867.  
  2868.          SYNTAX    winPrintNum winHandle%, format$, Value#
  2869.  
  2870.          REMARKS   This sub accepts the following arguments:
  2871.  
  2872.                    Argument         Description
  2873.                    ---------------  --------------------------------------
  2874.                    winHandle%       Window handle to print to.
  2875.                    format$          Numeric format (See PRINT USING)
  2876.                    Value#           Numeric value to print.
  2877.  
  2878.                    This function prints a formatted numeric value at the
  2879.                    current cursor position.  The cursor is then advanced to
  2880.                    the end of the printed text. If the line is within the
  2881.                    current window viewport, the screen is automatically
  2882.                    updated.
  2883.  
  2884.          SEE ALSO  winPrint, PRINT USING, CDEMO.BAS
  2885.  
  2886.          ------------------------------------------------------------------
  2887.  
  2888.          wlocate - SUB
  2889.  
  2890.          ACTION    Relocate cursor within a window
  2891.  
  2892.          SYNTAX    wlocate row%, col%
  2893.  
  2894.          REMARKS   This sub accepts the following arguments:
  2895.  
  2896.                    Argument         Description
  2897.                    ---------------  --------------------------------------
  2898.                    row%, col%       internal position of current window.
  2899.  
  2900.                    Moves the cursor in reference to the internal
  2901.                    coordinates of the current window.
  2902.  
  2903.          SEE ALSO  CDEMO.BAS
  2904.  
  2905.          ------------------------------------------------------------------
  2906.  
  2907.          WPRINT   - SUB
  2908.          CWPRINT  - SUB
  2909.          WCPRINT  - SUB
  2910.          CWCPRINT - SUB
  2911.  
  2912.          ACTION    Places text in the current window.
  2913.  
  2914.          SYNTAX    wprint row%, col%, text$
  2915.                    cwprint row%, col%, attrib%, text$
  2916.  
  2917.                 (c) Copyright 1988-1992 DSE Software Publishing
  2918.  
  2919.  
  2920.          ProWindows(tm) LITE - Version 5.20                           2.30
  2921.  
  2922.                    wcprint row%, text$
  2923.                    cwcprint row%, attrib%, text$
  2924.  
  2925.          REMARKS   These functions accept two or more of the following
  2926.                    arguments:
  2927.  
  2928.                    Argument         Description
  2929.                    ---------------  --------------------------------------
  2930.                    row%, col%       internal position of current window.
  2931.                    attrib%          Video attribute of text to display.
  2932.                    Text$            String literal to display.
  2933.  
  2934.                    These functions print text to the window pointed to by
  2935.                    the global variable CurrentWindow%.  The window contents
  2936.                    are NOT automatically refreshed unless the window is the
  2937.                    top most window AND window refreshing is enabled.
  2938.                    wprint assumes that the text is to be displayed in the
  2939.                    default colors for that window.  cwprint allows you to
  2940.                    specify exact colors.  wcprint and cwcprint are the same
  2941.                    except that the text is automatically centered within
  2942.                    the current window so you need not specify a column.
  2943.  
  2944.          SEE ALSO  RefreshMode and RefreshWindow.
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982.                 (c) Copyright 1988-1992 DSE Software Publishing
  2983.  
  2984.  
  2985.  
  2986.  
  2987.  
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.                   #####  ##   ##   ###   ###### ###### ###### ######
  3002.                  ##   ## ##   ## ##   ## ##   ##  ##   ##     ##   ##
  3003.                  ##      ##   ## ##   ## ##   ##  ##   ##     ##   ##
  3004.                  ##      ####### ####### ######   ##   #####  ######
  3005.                  ##      ##   ## ##   ## ##       ##   ##     ## ##
  3006.                  ##   ## ##   ## ##   ## ##       ##   ##     ##  ##
  3007.                   #####  ##   ## ##   ## ##       ##   ###### ##   ##
  3008.  
  3009.                         ###### ##   ## ######  ###### ######
  3010.                           ##   ##   ## ##   ## ##     ##
  3011.                           ##   ##   ## ##   ## ##     ##
  3012.                           ##   ####### ######  #####  #####
  3013.                           ##   ##   ## ## ##   ##     ##
  3014.                           ##   ##   ## ##  ##  ##     ##
  3015.                           ##   ##   ## ##   ## ###### ######
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.  
  3042.  
  3043.  
  3044.  
  3045.  
  3046.                 (c) Copyright 1988-1992 DSE Software Publishing
  3047.  
  3048.  
  3049.          ProWindows(tm) LITE - Version 5.20                           3.1
  3050.  
  3051.          SECTION 1 - MOUSE OVERVIEW
  3052.          =================================================================
  3053.  
  3054.               Typical mouse oriented programs, like the QuickBASIC
  3055.               environment, respond when you click the mouse in certain
  3056.               areas of the screen.  Without a good mouse manager, writing a
  3057.               mouse application can be quite an effort.
  3058.  
  3059.               ProWindows makes mouse programming easy.  With a single
  3060.               function call you can add complete event-driven mouse support
  3061.               to your windows, menus, and input forms.
  3062.  
  3063.               ProWindows(tm) includes two separate mouse drivers.  You can
  3064.               select either one while customizing your library in
  3065.               DESIGNER.EXE.
  3066.  
  3067.               The first is the "text" mouse.  The "text" mouse uses
  3068.               standard mouse API calls and will work with all Microsoft
  3069.               compatible mice on any machine.
  3070.  
  3071.               The other is a "graphic" mouse.  Call for call it is
  3072.               identical to the "text" mouse, but internally it is larger
  3073.               and quite more complicated.  This mouse tricks DOS into
  3074.               thinking that it is in a graphics screen mode and therefore
  3075.               displays a real graphics mouse cursor.  It is quite
  3076.               impressive.
  3077.  
  3078.               The only drawback is that you lose ASCII characters 200 to
  3079.               208 and it only works on EGA/VGA adaptors.  If the driver
  3080.               detects it is on a MDA/CGA adapter, it defaults to a text
  3081.               cursor.
  3082.  
  3083.               To make use of any function outlined in this chapter, you
  3084.               must add the following line to your program code:
  3085.  
  3086.                    REM $INCLUDE : 'LITE.BI'
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.          ┌────────────────────────────────────────────────────────────────┐
  3106.          │  Portions of the graphic mouse cursor driver were written by,  │
  3107.          │  and are copyrighted by, Dave Kirsch.  Thank you Mr. Kirsch    │
  3108.          │  for allowing us to use your excellent routines.               │
  3109.          └────────────────────────────────────────────────────────────────┘
  3110.  
  3111.                 (c) Copyright 1988-1992 DSE Software Publishing
  3112.  
  3113.  
  3114.          ProWindows(tm) LITE - Version 5.20                           3.2
  3115.  
  3116.          SECTION 2 - ROUTINE DESCRIPTIONS
  3117.          =================================================================
  3118.  
  3119.          CheckMouse% - FUNCTION
  3120.  
  3121.          ACTION    Determines if a mouse is installed.
  3122.  
  3123.          SYNTAX    variablename% = CheckMouse%(Buttons%)
  3124.  
  3125.          REMARKS   This routine accepts the following argument(s):
  3126.  
  3127.                    Argument         Description
  3128.                    ---------------  --------------------------------------
  3129.                    Buttons%         Returns number of buttons on the mouse.
  3130.  
  3131.                    Determines whether mouse hardware and software are
  3132.                    installed.  If found, this function will return a non-
  3133.                    zero value and the Buttons% parameter will hold the
  3134.                    number of buttons on the mouse (2 or 3).
  3135.  
  3136.                    When CheckMouse is called, the mouse cursor style
  3137.                    defaults to the best available.  EGA/VGA adaptors will
  3138.                    display a smooth moving Windows(R) style graphics mouse
  3139.                    cursor (while in text mode) and CGA/MDA will display a
  3140.                    text based mouse cursor.
  3141.  
  3142.  
  3143.          ------------------------------------------------------------------
  3144.  
  3145.          DoubleClick% - FUNCTION
  3146.  
  3147.          ACTION    Determines if a mouse button was clicked twice.
  3148.  
  3149.          SYNTAX    variablename% = DoubleClick%(DelayTime%)
  3150.  
  3151.          REMARKS   This routine accepts the following argument(s):
  3152.  
  3153.                    Argument         Description
  3154.                    ---------------  --------------------------------------
  3155.                    DelayTime%       Maximum time between clicks.
  3156.  
  3157.                    This function can determine if a mouse button was double
  3158.                    clicked within a certain number of clock ticks (18.2
  3159.                    ms).  The first call sets up the time, and the second
  3160.                    call returns a positive value if the same function is
  3161.                    called again within the given number of clock ticks.
  3162.  
  3163.          ------------------------------------------------------------------
  3164.  
  3165.          GetMouse - FUNCTION
  3166.  
  3167.          ACTION    Retrieves current mouse state and coordinates.
  3168.  
  3169.          SYNTAX    variablename% = GetMouse%(Row%, Col%)
  3170.  
  3171.          REMARKS   This routine accepts the following argument(s):
  3172.  
  3173.                    Argument         Description
  3174.                    ---------------  --------------------------------------
  3175.  
  3176.                 (c) Copyright 1988-1992 DSE Software Publishing
  3177.  
  3178.  
  3179.          ProWindows(tm) LITE - Version 5.20                           3.3
  3180.  
  3181.                    Row%, Col%       Screen coordinates of mouse cursor.
  3182.  
  3183.                    This routine retrieves the current mouse state and
  3184.                    coordinates.  If a mouse button(s) is pressed, this
  3185.                    function returns the button number + 1.  The two
  3186.                    parameter always return the mouse cursor's screen
  3187.                    coordinates whether or not a button is pressed.
  3188.  
  3189.          SEE ALSO  GetButtonPress, GetButtonRelease, SetMouse
  3190.  
  3191.          ------------------------------------------------------------------
  3192.  
  3193.          GetMouseInfo - SUB
  3194.  
  3195.          ACTION    Retrieve information about the mouse.
  3196.  
  3197.          SYNTAX    GetMouseInfo major%, minor%, irq%, mtype%
  3198.  
  3199.          REMARKS   This routine accepts the following argument(s):
  3200.  
  3201.                    Argument         Description
  3202.                    ---------------  --------------------------------------
  3203.                    major%           Mouse driver major version number.
  3204.                    minor%             "     "    minor    "      "
  3205.                    irq%             IRQ number mouse is installed on.
  3206.  
  3207.                                     Value  Description
  3208.                                     -----  ------------------------------
  3209.                                       0    PS/2 pointing device
  3210.                                       1    not defined
  3211.                                       2    IRQ2
  3212.                                       3    IRQ3
  3213.                                      ...   ...
  3214.                                       7    IRQ7
  3215.  
  3216.                    mtype%           Type of mouse installed.
  3217.  
  3218.                                     Value  Description
  3219.                                     -----  ------------------------------
  3220.                                       1    bus mouse
  3221.                                       2    serial mouse
  3222.                                       3    Microsoft InPort
  3223.                                       4    IBM PS/2 Pointing Device port
  3224.                                       5    Hewlett-Packard mouse
  3225.  
  3226.                    This function returns information about the installed
  3227.                    mouse driver.
  3228.  
  3229.          ------------------------------------------------------------------
  3230.  
  3231.          GetMousePress - FUNCTION
  3232.  
  3233.          ACTION    Retrieves mouse button press information.
  3234.  
  3235.          SYNTAX    variablename% = GetMousePress% (Button%, Presses%,
  3236.                                                    Row%, Col%)
  3237.  
  3238.          REMARKS   This routine accepts the following argument(s):
  3239.  
  3240.  
  3241.                 (c) Copyright 1988-1992 DSE Software Publishing
  3242.  
  3243.  
  3244.          ProWindows(tm) LITE - Version 5.20                           3.4
  3245.  
  3246.                    Argument         Description
  3247.                    ---------------  --------------------------------------
  3248.                    Button%          Mouse button to check (0-2)
  3249.                    Presses%         Number of presses since last check.
  3250.                    Row%, Col%       Screen coordinates of last press.
  3251.  
  3252.                    The routine returns the number of times the specified
  3253.                    mouse button was pressed since the last time the same
  3254.                    routine was called.  Button press data is returned in
  3255.                    the last 3 parameters.
  3256.  
  3257.          SEE ALSO  GetMouseRelease
  3258.  
  3259.          ------------------------------------------------------------------
  3260.  
  3261.          GetMouseRelease - FUNCTION
  3262.  
  3263.          ACTION    Retrieves mouse button release information.
  3264.  
  3265.          SYNTAX    variablename% = GetMouseRelease% (Button%, Releases%,
  3266.                                                      Row%, Col%)
  3267.  
  3268.          REMARKS   This routine accepts the following argument(s):
  3269.  
  3270.                    Argument         Description
  3271.                    ---------------  --------------------------------------
  3272.                    Button%          Mouse button to check (0-2)
  3273.                    Releases%        Number of Releases since last check.
  3274.                    Row%, Col%       Screen coordinates of last press.
  3275.  
  3276.                    The routine returns the number of times the specified
  3277.                    mouse button was released since the last time the same
  3278.                    routine was called.  Button press data is returned in
  3279.                    the last 3 parameters.
  3280.  
  3281.          SEE ALSO  GetMousePress
  3282.  
  3283.          ------------------------------------------------------------------
  3284.  
  3285.          Mouse - FUNCTION
  3286.  
  3287.          ACTION    Retrieves mouse button information.
  3288.  
  3289.          SYNTAX    variablename% = Mouse% (Button%, Cmd%)
  3290.  
  3291.          REMARKS   This routine accepts the following argument(s):
  3292.  
  3293.                    Argument         Description
  3294.                    ---------------  --------------------------------------
  3295.                    Button%          Mouse button to check (0-2)
  3296.                    Cmd%             Information to retrieve.
  3297.  
  3298.                                     Value Description
  3299.                                     ----- --------------------------------
  3300.                                       1   Is button currently pressed.
  3301.                                       2   Button clicks since last call.
  3302.                                       3   Current mouse cursor row.
  3303.                                       4   Current mouse cursor column.
  3304.                                       5   Last mouse press row.
  3305.  
  3306.                 (c) Copyright 1988-1992 DSE Software Publishing
  3307.  
  3308.  
  3309.          ProWindows(tm) LITE - Version 5.20                           3.5
  3310.  
  3311.                                       6   Last mouse press column.
  3312.                                       7   Last mouse release row.
  3313.                                       8   Last mouse release column.
  3314.                                       9   Has the mouse state changed.
  3315.  
  3316.                    The routine returns the just about everything you ever
  3317.                    wanted to know about your mouse but were afraid to ask.
  3318.                    Function number 1 returns a positive value if the mouse
  3319.                    is currently pressed.  Function 2 can then returns the
  3320.                    number of times the button was pressed.  Function 9
  3321.                    returns a positive value if the mouse is pressed and if
  3322.                    it has been moved since the last call to function 9.
  3323.  
  3324.          ------------------------------------------------------------------
  3325.  
  3326.          MouseCursorOff - SUB
  3327.  
  3328.          ACTION    Turns off the mouse cursor.
  3329.  
  3330.          SYNTAX    MouseCursorOff
  3331.  
  3332.          REMARKS   Turns off the mouse cursor.  Even though the cursor is
  3333.                    not displayed, the cursor is still tracked and it's
  3334.                    movement can be read by other mouse functions.
  3335.  
  3336.          SEE ALSO  MouseCursorOn
  3337.  
  3338.          ------------------------------------------------------------------
  3339.  
  3340.          MouseCursorOn - SUB
  3341.  
  3342.          ACTION    Turns on the mouse cursor.
  3343.  
  3344.          SYNTAX    MouseCursorOn
  3345.  
  3346.          REMARKS   Turns on the mouse cursor after an initial call to
  3347.                    CheckMouse%() or MouseCursorOff.
  3348.  
  3349.          SEE ALSO  CheckMouse, MouseCursorOn
  3350.  
  3351.          ------------------------------------------------------------------
  3352.  
  3353.          MouseKillWindow - SUB
  3354.  
  3355.          ACTION    Hides mouse when out of bounds.
  3356.  
  3357.          SYNTAX    MouseKillWindow row%, col%, rows%, cols%
  3358.  
  3359.          REMARKS   This routine accepts the following argument(s):
  3360.  
  3361.                    Argument         Description
  3362.                    ---------------  --------------------------------------
  3363.                    row%, col%       Top left coordinate of mouse area.
  3364.                    rows%, cols%     Dimensions of mouse area.
  3365.  
  3366.                    This routine automatically hides the mouse cursor when
  3367.                    it leaves the defined screen area.
  3368.  
  3369.          NOTE      This function not availabe with graphics mouse.
  3370.  
  3371.                 (c) Copyright 1988-1992 DSE Software Publishing
  3372.  
  3373.  
  3374.          ProWindows(tm) LITE - Version 5.20                           3.6
  3375.  
  3376.  
  3377.          SEE ALSO  SetMouseWindow
  3378.  
  3379.          SetMouse - SUB
  3380.  
  3381.          ACTION    Re-positions the mouse cursor.
  3382.  
  3383.          SYNTAX    SetMouse row%, col%
  3384.  
  3385.          REMARKS   This routine accepts the following argument(s):
  3386.  
  3387.                    Argument         Description
  3388.                    ---------------  --------------------------------------
  3389.                    row%, cols%      New position for mouse cursor.
  3390.  
  3391.                    This routine moves the mouse cursor to a new location on
  3392.                    the screen.
  3393.  
  3394.          SEE ALSO  GetMouse
  3395.  
  3396.          ------------------------------------------------------------------
  3397.  
  3398.          SetMouseMode - SUB
  3399.  
  3400.          ACTION    Selects the mouse style to use.
  3401.  
  3402.          SYNTAX    SetMouseMode mode%
  3403.  
  3404.          REMARKS   This routine accepts the following argument(s):
  3405.  
  3406.                    Argument         Description
  3407.                    ---------------  --------------------------------------
  3408.                    mode%            Select cursor style.
  3409.  
  3410.                    This function selects the mouse style to use.  Mode 0
  3411.                    selects a text-based mouse cursor, and mode 1 selects a
  3412.                    smooth moving Windows(R) style graphics mouse cursor.
  3413.  
  3414.          SEE ALSO  CheckMouse
  3415.  
  3416.          SetMouseState - SUB
  3417.  
  3418.          ACTION    Turns mouse control OFF/ON
  3419.  
  3420.          SYNTAX    SetMouseState state%
  3421.  
  3422.          REMARKS   This routine accepts the following argument(s):
  3423.  
  3424.                    Argument         Description
  3425.                    ---------------  --------------------------------------
  3426.                    state%           New state of the mouse.
  3427.  
  3428.                    This routine turns on or off mouse controller. The mouse
  3429.                    cursor, software, and hardware remain active, but
  3430.                    ProWindows drivers no longer respond to mouse control.
  3431.  
  3432.          ------------------------------------------------------------------
  3433.  
  3434.          SetMouseWindow - SUB
  3435.  
  3436.                 (c) Copyright 1988-1992 DSE Software Publishing
  3437.  
  3438.  
  3439.          ProWindows(tm) LITE - Version 5.20                           3.7
  3440.  
  3441.  
  3442.          ACTION    Confines the mouse within a given screen area.
  3443.  
  3444.          SYNTAX    SetMouseWindow row%, col%, rows%, cols%
  3445.  
  3446.          REMARKS   This routine accepts the following argument(s):
  3447.  
  3448.                    Argument         Description
  3449.                    ---------------  --------------------------------------
  3450.                    row%, col%       Top left coordinate of mouse area.
  3451.                    rows%, cols%     Dimensions of mouse area.
  3452.  
  3453.                    This routine confines all mouse movement to the defined
  3454.                    screen area.  If the cursor is outside the area when
  3455.                    this routine is called, it is relocated to just inside
  3456.                    the area.  To reset, re-issue this same command with the
  3457.                    coordinates of the entire screen.
  3458.  
  3459.          SEE ALSO  MouseKillWindow
  3460.  
  3461.          ------------------------------------------------------------------
  3462.  
  3463.          termMouse - SUB
  3464.  
  3465.          ACTION    Un-installed the mouse driver.
  3466.  
  3467.          SYNTAX    termMouse
  3468.  
  3469.          REMARKS   This function un-installs the mouse driver.
  3470.  
  3471.          NOTE      This function MUST be called upon exiting your program
  3472.                    or you may get a really funny looking mouse cursor when
  3473.                    you move the mouse.  No harm should come, it will just
  3474.                    look funny.
  3475.  
  3476.                    The mouse driver will automatically reset itself if you
  3477.                    restart the program from within the environment.
  3478.  
  3479.          ------------------------------------------------------------------
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.  
  3495.  
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.                 (c) Copyright 1988-1992 DSE Software Publishing
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.                   #####  ##   ##   ###   ###### ###### ###### ######
  3521.                  ##   ## ##   ## ##   ## ##   ##  ##   ##     ##   ##
  3522.                  ##      ##   ## ##   ## ##   ##  ##   ##     ##   ##
  3523.                  ##      ####### ####### ######   ##   #####  ######
  3524.                  ##      ##   ## ##   ## ##       ##   ##     ## ##
  3525.                  ##   ## ##   ## ##   ## ##       ##   ##     ##  ##
  3526.                   #####  ##   ## ##   ## ##       ##   ###### ##   ##
  3527.  
  3528.                            ######  #####  ##   ## ######
  3529.                            ##     ##   ## ##   ## ##   ##
  3530.                            ##     ##   ## ##   ## ##   ##
  3531.                            #####  ##   ## ##   ## ######
  3532.                            ##     ##   ## ##   ## ## ##
  3533.                            ##     ##   ## ##   ## ##  ##
  3534.                            ##      #####   #####  ##   ##
  3535.  
  3536.  
  3537.  
  3538.  
  3539.  
  3540.  
  3541.  
  3542.  
  3543.  
  3544.  
  3545.  
  3546.  
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.                 (c) Copyright 1988-1992 DSE Software Publishing
  3566.  
  3567.  
  3568.          ProWindows(tm) LITE - Version 5.20                           4.1
  3569.  
  3570.          SYSTEM CONSTANTS
  3571.          =================================================================
  3572.  
  3573.          The following list of pre-set constants are defined in LITE.BI.
  3574.          These constants can be added "+" and passed as the options%
  3575.          parameter in a call to OpenWindow().
  3576.  
  3577.          NEVER modify the values of these constants.
  3578.  
  3579.          Pre-Set Constants   Value  Remark
  3580.          ------------------  -----  ------------------------------------
  3581.          OFFBUTTON               1  Place Off Icon on window
  3582.          RESIZEBUTTON            2  Place Re-size Icon on window
  3583.          DRAGBAR                 4  Place Drag Bar on window
  3584.          HORZSCROLLBAR           8  Place Horiz. Scroll Bar on window
  3585.          VERTSCROLLBAR          16  Place Vert. Scroll Bar on window
  3586.          SELECTABLE             64  Makes window selectable with mouse
  3587.          FLAT                  128  Create a borderless Flat window
  3588.          AUTOCLOSE             512  Auto-close window when hidden
  3589.          AUTOSCROLL           8192  Makes window scroll bars adjust window.
  3590.  
  3591.          -----------------------------------------------------------------
  3592.          USER CONSTANTS
  3593.  
  3594.          This next set of constants can be defined by the user and should
  3595.          be custom tailored to each application.  These constants should
  3596.          ALWAYS at the beginning of the main module and before any $INCLUDE
  3597.          files.
  3598.  
  3599.          The minimum value of each constant should NEVER be less than 1.
  3600.  
  3601.          User Set Constants  Value  Remark
  3602.          ------------------  -----  ------------------------------------
  3603.          MAXBUTTONS             64  ProWindows(tm) PROFESSIONAL ONLY
  3604.          MAXOPTIONS             24  ProWindows(tm) PROFESSIONAL ONLY
  3605.          MAXMENUS               20  ProWindows(tm) PROFESSIONAL ONLY
  3606.          MAXWINDOWS             30  Maximum number of windows
  3607.  
  3608.          -----------------------------------------------------------------
  3609.  
  3610.          DATA TYPES
  3611.  
  3612.          The following data types are declared in LITE.BI.
  3613.  
  3614.          TYPEs and Elements            Remarks
  3615.          ----------------------------  -----------------------------------
  3616.          TYPE wincb
  3617.               row AS INTEGER           Screen row of window
  3618.               col AS INTEGER           Screen column of window
  3619.               rows AS INTEGER          Displayed rows of window
  3620.               cols AS INTEGER          Displayed columns of window
  3621.               attr AS INTEGER          Default attribute of window
  3622.               Border AS INTEGER        Border style of window
  3623.               Shadow AS INTEGER        Shadow style of window
  3624.               Zoom AS INTEGER          Zoom style of window
  3625.               ptr AS INTEGER           Index into scrn%() array
  3626.               cbytes AS INTEGER        Character bytes of compressed image
  3627.               abytes AS INTEGER        Attribute bytes of compressed image
  3628.          END TYPE
  3629.  
  3630.                 (c) Copyright 1988-1992 DSE Software Publishing
  3631.  
  3632.  
  3633.          ProWindows(tm) LITE - Version 5.20                           4.2
  3634.  
  3635.          TYPE vircb
  3636.               row AS INTEGER           Screen row to display window at
  3637.               col AS INTEGER           Screen column to display window at
  3638.               rows AS INTEGER          Window rows to display
  3639.               cols AS INTEGER          Window columns to display
  3640.               vrow AS INTEGER          Displayed offset into window
  3641.               vcol AS INTEGER          Displayed offset into window
  3642.               vrows AS INTEGER         Virtual rows in window
  3643.               vcols AS INTEGER         Virtual columns in window
  3644.               attr AS INTEGER          Attribute of virtual window
  3645.               Border AS INTEGER        Border style of virtual window
  3646.               Shadow AS INTEGER        Shadow style of virtual window
  3647.               Zoom AS INTEGER          Zoom style of virtual window
  3648.               WI AS INTEGER            Index into wcb() array
  3649.               Options AS INTEGER       Display options of virtual window
  3650.               TitlePos AS INTEGER      Title position of virtual window
  3651.               Title AS STRING * 20     Title of virtual window
  3652.               Buttons AS INTEGER       Number of buttons in virtual window
  3653.               LastButton AS INTEGER    Last button selected
  3654.               VertPos AS INTEGER       Vertical scroll bar position
  3655.               HorzPos AS INTEGER       Horizontal scroll bar position
  3656.          END TYPE
  3657.  
  3658.          -----------------------------------------------------------------
  3659.  
  3660.          SELECT GLOBAL VARIABLES AND ARRAYS
  3661.  
  3662.          NAME      /VideoData/ MAXROWS AS INTEGER
  3663.  
  3664.          REMARKS   MAXROWS% is filled by the function InitPro(), and holds
  3665.                    the number of screen rows in the current display mode.
  3666.  
  3667.          -----------------------------------------------------------------
  3668.  
  3669.          NAME      /VideoData/ MAXCOLS AS INTEGER
  3670.  
  3671.          REMARKS   MAXCOLS% is filled by the function InitPro(), and holds
  3672.                    the number of screen columns in the current display
  3673.                    mode.
  3674.  
  3675.          -----------------------------------------------------------------
  3676.  
  3677.          NAME      /VideoData/ VIDEOSEGMENT AS INTEGER
  3678.  
  3679.          REMARKS   VIDEOSEGMENT% is filled by the function InitPro(), and
  3680.                    holds the segment address of the beginning of display
  3681.                    memory.
  3682.  
  3683.          -----------------------------------------------------------------
  3684.  
  3685.          NAME      /VideoData/ VIDEOOFFSET AS INTEGER
  3686.          REMARKS   VIDEOOFFSET% is filled by the function InitPro(), and
  3687.                    holds the offset address of the current video page in
  3688.                    display memory.
  3689.  
  3690.          -----------------------------------------------------------------
  3691.  
  3692.  
  3693.  
  3694.  
  3695.                 (c) Copyright 1988-1992 DSE Software Publishing
  3696.  
  3697.  
  3698.          ProWindows(tm) LITE - Version 5.20                           4.3
  3699.  
  3700.          NAME      /WindowData/ wcb() AS wincb
  3701.  
  3702.          REMARKS   wcb() is a stack-based array that holds information
  3703.                    about the window currently on the screen.  The last
  3704.                    window displayed is pointed to by: wcb(WI%).
  3705.  
  3706.          -----------------------------------------------------------------
  3707.  
  3708.          NAME      /WindowData/ scrn() AS INTEGER
  3709.  
  3710.          REMARKS   scrn%() is an integer array that holds the individual
  3711.                    images of the original portions of the screen where a
  3712.                    window is being displayed.  The contents on scrn%() are
  3713.                    highly compressed and should NEVER be modified.
  3714.  
  3715.          -----------------------------------------------------------------
  3716.  
  3717.          NAME      /WindowData/ WI AS INTEGER
  3718.  
  3719.          REMARKS   WI% is used as a pointer into the arrays wcb() and
  3720.                    wcbndx%().  WI% holds the internal stack position of the
  3721.                    last window displayed.  It also queues the next window
  3722.                    removed by the function RemoveWindow().
  3723.  
  3724.          -----------------------------------------------------------------
  3725.  
  3726.          NAME      /WindowData/ SoundMode AS INTEGER
  3727.  
  3728.          REMARKS   SoundMode% is used to turn on sound effects when a
  3729.                    window is first displayed or removed.
  3730.  
  3731.                    SoundMode accepts the following values:
  3732.  
  3733.                    Value            Description
  3734.                    ---------------  --------------------------------------
  3735.                    0                Disable
  3736.                    1                Click
  3737.                    2                Beep
  3738.                    3                Glissando (chirp)
  3739.  
  3740.          -----------------------------------------------------------------
  3741.  
  3742.          NAME      /WindowData/ SNOW AS INTEGER
  3743.  
  3744.          REMARKS   SNOW% is used to control flicker reduction on older CGA
  3745.                    adaptors.  SNOW% should ALWAYS be set prior to the
  3746.                    initial call to InitPro().  If InitPro() decides that
  3747.                    flicker reduction is not needed, it will automatically
  3748.                    disable it.
  3749.  
  3750.          -----------------------------------------------------------------
  3751.  
  3752.          NAME      /WindowData/ CreateMode AS INTEGER
  3753.  
  3754.          REMARKS   Used as a debugging aid, when set, CreateMode% enables
  3755.                    the window status display at the lower left portion of
  3756.                    the screen.  The displayed numbers correspond to the
  3757.                    number of windows being displayed, highest subscript of
  3758.                    the array scrn%() being used, and the highest subscript
  3759.  
  3760.                 (c) Copyright 1988-1992 DSE Software Publishing
  3761.  
  3762.  
  3763.          ProWindows(tm) LITE - Version 5.20                           4.4
  3764.  
  3765.                    of array VirMem%() being used.
  3766.                    CreateMode% should ALWAYS be set during initial program
  3767.                    development.
  3768.  
  3769.          -----------------------------------------------------------------
  3770.  
  3771.          NAME      /WindowData/ ERRNO AS INTEGER
  3772.  
  3773.          REMARKS   ERRNO% will contain a non-zero value if an error
  3774.                    occurred while loading a window, menu, or input form
  3775.                    from the disk.
  3776.  
  3777.          -----------------------------------------------------------------
  3778.  
  3779.          NAME      /wprintData/ WindowSeg AS INTEGER
  3780.  
  3781.          REMARKS   DO NOT USE
  3782.  
  3783.          -----------------------------------------------------------------
  3784.  
  3785.          NAME      /wprintData/ WindowOff AS INTEGER,
  3786.  
  3787.          REMARKS   WindowOff% holds the memory offset of the window pointed
  3788.                    to by the variable CurrentWindow%.
  3789.  
  3790.          -----------------------------------------------------------------
  3791.  
  3792.          NAME      /wprintData/ WindowSize AS INTEGER
  3793.  
  3794.          REMARKS   WindowSize% holds the image width of the window pointed
  3795.                    to by the variable CurrentWindow%.
  3796.  
  3797.          -----------------------------------------------------------------
  3798.  
  3799.          NAME      /VLSdata/ VirMem() AS INTEGER
  3800.  
  3801.          REMARKS   VirMem%() is an integer array that holds the images of
  3802.                    individual virtual windows.  The contents of a window
  3803.                    can be modified by altering the contents of this array.
  3804.                    Modify at your own risk.
  3805.  
  3806.          -----------------------------------------------------------------
  3807.  
  3808.          NAME      /VLSdata/ vcb() AS vircb
  3809.  
  3810.          REMARKS   vcb() is an array that holds information necessary for
  3811.                    the management of each virtual window.  It's contents
  3812.                    should never be modified directly.
  3813.  
  3814.          -----------------------------------------------------------------
  3815.  
  3816.          NAME      /VLSdata/ wcbndx() AS INTEGER
  3817.  
  3818.          REMARKS   wcbndx%() is a stack-based array that holds the handles
  3819.                    of all virtual windows being displayed.  WI% is the
  3820.                    pointer variable for this array.
  3821.  
  3822.          -----------------------------------------------------------------
  3823.  
  3824.  
  3825.                 (c) Copyright 1988-1992 DSE Software Publishing
  3826.  
  3827.  
  3828.          ProWindows(tm) LITE - Version 5.20                           4.5
  3829.  
  3830.          NAME      /VLSdata/ CurrentWindow AS INTEGER
  3831.  
  3832.          REMARKS   CurrentWindow% holds the handle of the currently
  3833.                    selected virtual window.  All ProWindows specific print
  3834.                    functions are directed to this window.
  3835.  
  3836.          -----------------------------------------------------------------
  3837.  
  3838.          NAME      /VLSdata/ UpdateMode AS INTEGER
  3839.  
  3840.          REMARKS   UpdateMode% controls whether ProWindows specific print
  3841.                    statement are immediately executed or only when one of
  3842.                    the Refresh functions are called.
  3843.  
  3844.          -----------------------------------------------------------------
  3845.  
  3846.          NAME      /VLSdata/ GlobalOptions AS INTEGER
  3847.  
  3848.          REMARKS   GlobalOptions% hold the options used when a window is
  3849.                    created with a call to PopWindow().  This variable
  3850.                    should be defined prior to the call.
  3851.  
  3852.          -----------------------------------------------------------------
  3853.  
  3854.          NAME      /VLSdata/ FreezeFrame AS INTEGER
  3855.  
  3856.          REMARKS   When set, FreezeFrame cancels all mouse actions to any
  3857.                    other window than CurrentWindow%.
  3858.  
  3859.          -----------------------------------------------------------------
  3860.  
  3861.          /VLSdata/ VideoRecycle AS INTEGER
  3862.  
  3863.          REMARKS   When set, VideoRecycle% forces the Window Manager to re-
  3864.                    use normally unused portions of video ram as a scratch
  3865.                    pad buffer.  This option can return up to 24K back to
  3866.                    the BASIC environment.  "Video Recycling" is not
  3867.                    available on Monochrome (MDA) adaptors, and will be
  3868.                    automatically disabled.
  3869.  
  3870.                    VideoRecycle% should be set prior to calling InitPro().
  3871.  
  3872.          -----------------------------------------------------------------
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890.                 (c) Copyright 1988-1992 DSE Software Publishing
  3891.  
  3892.  
  3893.